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-Key: 129795

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

Printed on: April 23, 2024 at 17:04 o'clock

Member: Biber
Biber Nov 19, 2009 at 18:19:43 (UTC)
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
Member: jutzin
jutzin Nov 20, 2009 at 00:15:31 (UTC)
Goto Top
ach du sch... wo hab ich nur meinen kopp? besten dank!