jutzin
Goto Top

Variablen für Laufwerk und Pfad etc. der Batchdatei werden nicht mehr aufgelöst

eben ging's noch...

... aber plötzlich erzeugt

for /d /r %%i in (*) do echo %%~d0%%~p0\_dateiname_.bat "%%i"  

nur noch die ausgabe

%~d0%~p0_dateiname_.bat "pfad\zur\datei1"%~d0%~p0\_dateiname_.bat "pfad\zur\datei2"%~d0%~p0\_dateiname_.bat "pfad\zur\datei3"%~d0%~p0\_dateiname_.bat "pfad\zur\datei4"%~d0%~p0\_dateiname_.bat "pfad\zur\datei5"%~d0%~p0\_dateiname_.bat "pfad\zur\datei6"%~d0%~p0\_dateiname_.bat "pfad\zur\datei7"

%%~d0%%~p0 wird einfach nicht mehr zum laufwerksbuchstaben und pfad der batchdatei aufgelöst.

woran liegt's?

grüße
jutzin

Content-ID: 129795

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

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

Biber
Biber 19.11.2009 um 19:19:43 Uhr
Goto Top
Moin jutzin,

in Batchdateien müssen zwar die einfachen Prozentzeichen der dynamischen Laufvariablen (%i, %j...) verdoppelt werden zu %%i, %%j.
Nicht aber die Parameter %0 ["Me."] und %1.. bis %9 (und auch nicht deren Ableitungen &~d0, %~p1, %~nx3 etc.)

Also schreib es so:
for /r /d %%i in (*) do @echo %~dp0_dateiname_.bat "%%i"  

[ vorausgesetzt, du willst wirklich von der aufgerufenen Batchdatei nur Laufwerk/Pfad verwenden und da den "festen" Namen _dateiname_.bat anhängen.]

Ergäbe mit meinen Spieldaten eine Ausgabe der Art:
e:\Schnipsel\_dateiname_.bat "D:\temp\dit & dat"  
e:\Schnipsel\_dateiname_.bat "D:\temp\down"  
e:\Schnipsel\_dateiname_.bat "D:\temp\Backup1\Admincopy\Desktop"  
e:\Schnipsel\_dateiname_.bat "D:\temp\Backup1\tsprofil\Desktop"  
e:\Schnipsel\_dateiname_.bat "D:\temp\head\doc"  
e:\Schnipsel\_dateiname_.bat "D:\temp\test\test\1.1\ErsteEbene\darunter"  

Grüße
Biber
jutzin
jutzin 20.11.2009 um 01:15:31 Uhr
Goto Top
ach du sch... wo hab ich nur meinen kopp? besten dank!