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/forum/kaufmaennisches-und-in-variable-101109.html

Ausgedruckt am: 23.12.2024 um 16:12 Uhr

Biber
Biber 05.11.2008 um 16:22:09 Uhr
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 05.11.2008 um 16:40:30 Uhr
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 05.11.2008 um 17:17:25 Uhr
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 05.11.2008 um 20:36:34 Uhr
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 05.11.2008 um 20:45:53 Uhr
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