ren
Goto Top

Kaufmännisches Und in Variable

mein Problem: ich habe einen Variable, da steht so etwas drin wie:
tmp="c:\ablage\test & versuch\"  
jetzt brauche ich aber diese Variable ohne das letzte ", denn ich möchte dort noch einen Dateinamen anhängen. Also habe ich versucht, mit
set temp=%tmp:~1,-1%
oder
set temp=%tmp:"=%  
die " wegzubekommen. Das funktioniert mit jedem Verzeichnis, nur scheint das & cdm glaubhaft zu machen, dass ich gerne versuch\ ausführen möchte. Wie bekomme ich dennoch einen Variable mit dem gewünschten Ergebnis: temp=c:\ablage\test & versuch\

Content-ID: 101109

Url: https://administrator.de/contentid/101109

Printed on: December 5, 2024 at 22:12 o'clock

Biber
Biber Nov 05, 2008 at 15:22:09 (UTC)
Goto Top
Moin Ren,

wo genau ist das Problem?
>Set "mytmp=c:\ablage\test & versuch\"  

(=16:19:24  D:\temp=)
>set mytmp
mytmp=c:\ablage\test & versuch\ 
>set del       
del=c:\ablage\  
(=16:19:31  D:\temp=)
>echo !mytmp:%del%=!
test & versuch\ 

Grüße
Biber
Ren
Ren Nov 05, 2008 at 15:40:30 (UTC)
Goto Top
Ich glaube, mein Problem ist, dass ich aus Debug-Gründen die ganze Zeit versuche, meine Variablen mit echo auszugeben. Dann bringt er die Fehlermeldung, dass er versuch nicht starten kann.
Mal gucken, ob ich das ohne besser hinbekomme.
Biber
Biber Nov 05, 2008 at 16:17:25 (UTC)
Goto Top
Hmmm,

ich denke eher, Du musst die Features (oder die Unschärfen) einfach beherzter nutzen.

Für den Zweck, für den Du es brauchst, ist dieses "Dies & Das"-Gelumpe ja immer im Kontext Verzeichnisname und damit ja nur für die Befehle CD, MD, RD, PushD, PopD und innerhalb einer Pfadangabe für Copy/Move/Del gefragt.

Und bei allem, was mit Pfadangaben zu tun hat,
  • dürfen auch Teil-Pfadangaben als String in Anführungszeichen gepackt werden
  • kommt es auf ein "\" mehr nicht an

Soll heißen
Dir "D:\EinPfad\Ein Unterpfad\Dit & Dat"
ist gleichwertig mit
Dir D:\EinPfad\"Ein Unterpfad"\"Dit & Dat"
ist gleichwertig mit
Dir "D:\\EinPfad\"Ein Unterpfad"\\Dit & Dat"

---> eine Schlussfolgerung:
Diese Teil-Verzeichnis-Variable, mit der Du da rumschraubst, die kannst Du immer in Anführungszeichen eingeschlossen lassen.
Und wenn also das "Dit & Dat" bzw "test & versuch" in Anführungszeichen eingeschlossen bleibt gibt es auch keine Probleme.

Grüße
Biber
Ren
Ren Nov 05, 2008 at 19:36:34 (UTC)
Goto Top
Da kann man nur sagen: vielen Dank, das ist sehr hilfreich, und jetzt rennt das Programm auch erstmal. Mal gespannt, wann ich den nächsten Fehler finde...
Biber
Biber Nov 05, 2008 at 19:45:53 (UTC)
Goto Top
Nach meiner Erfahrung, Ren,
Mal gespannt, wann ich den nächsten Fehler finde...
... wird der Abstand, in dem Du Fehler "findest", relativ konstant bleiben.

Aber die Dauer der Fehlerbehebung wird kürzer....

Grüße
Biber