fugu
Goto Top

Fehler: %%a ist syntaktisch an dieser Stelle nicht verarbeitbar

Moinz @Batchler face-wink

Ich habe hier 2 Server, die per M$-Backup je auf eine lokal angeschlossene USB-HDD sichern.
In der Buchhaltung haben wir einen Verantwortlichen "gefunden", der nun täglich die Bänder vom neu angeschafften REV Drive wechseln soll. Hierfür steht auch eingens eine XPProf-Dose bereit, woran das REV angeschlossen ist.

Ich möchte nun:
  • Die jeweils aktuellste *.bkf von den beiden USB-HDD auf die lokale HDD der XP-Dose holen.
  • Die *.bkf auf das REV schreiben

Soweit so gut...

@ECHO OFF

CD /D D:\Backup
DEL /S /Q *.*

NET USE X: \\srv01\DASI_SRV01
NET USE Y: \\srv02\DASI_SRV02

CD X:\
FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B X:') DO (  
  XCOPY "%%a" D:\Backup /I /C /E /Q /Y  
)

CD Y:\
FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B Y:') DO (  
  XCOPY "%%a" D:\Backup /I /C /E /Q /Y  
)

"C:\Programme\Iomega\REV System Software\ImDrvCli.exe" /Drive=R: /Format  
XCOPY D:\Backup\*.* R:\ /I /C /E /Q /Y
"C:\Programme\Iomega\REV System Software\ImDrvCli.exe" /Drive=R: /Eject  

NET USE X: /D /Y
NET USE Y: /D /Y

Leider bricht die FOR-Schleife mit der Meldung "%%a" ist syntaktisch an dieser Stelle nicht verarbeitbar. ab - und ich hab keine Idee, wo mein Fehler ist.

Thx for help, Fugu

Content-Key: 40204

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

Printed on: April 19, 2024 at 20:04 o'clock

Member: hoschen
hoschen Sep 15, 2006 at 11:37:33 (UTC)
Goto Top
mach das mal so:

@ECHO OFF

CD /D D:\Backup
DEL /S /Q *.*

NET USE X: \\srv01\DASI_SRV01
NET USE Y: \\srv02\DASI_SRV02

CD X:
FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B X:') DO (  
  XCOPY "%%a" D:\Backup /I /C /E /Q /Y  
)

CD Y:
FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B Y:') DO (  
  XCOPY "%%a" D:\Backup /I /C /E /Q /Y  
)

"C:\Programme\Iomega\REV System Software\ImDrvCli.exe" /Drive=R: /Format  
XCOPY D:\Backup\*.* R:\ /I /C /E /Q /Y
"C:\Programme\Iomega\REV System Software\ImDrvCli.exe" /Drive=R: /Eject  

NET USE X: /D /Y
NET USE Y: /D /Y
Member: fugu
fugu Sep 15, 2006 at 11:43:53 (UTC)
Goto Top
sorry, hatte ich vergessen zu erwähnen...
die Variante hatte ich schon
Member: hoschen
hoschen Sep 15, 2006 at 12:17:40 (UTC)
Goto Top
machst du mal diesen Versuch?

@ECHO OFF

NET USE X: \\srv01\DASI_SRV01
NET USE Y: \\srv02\DASI_SRV02

CD X:
FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B X:') DO (  
  echo %%a
)

Es sollte dann der Inhalt von X: aufgelistet werden!
Member: fugu
fugu Sep 15, 2006 at 12:22:58 (UTC)
Goto Top
face-smile auch das hab ich schon versucht...
gleiche Fehlermeldung!

Den Laufwerkswechsel habe ich natürlich nicht mit
CD X:
gemacht, sondern mit
X:

bzw.

CD /D X:

face-wink Fugu
Member: geTuemII
geTuemII Sep 15, 2006 at 16:12:21 (UTC)
Goto Top
Hallo Fugu,

vor die Commands gehört ein @ (@xcopy) und den Laufwerkswechsel mach mal besser mit pushd @pushd x:

[EDIT]
%%a gehört übrigens nicht in Anführungszeichen, aber das war dir sicher schon aufgefallen.
[/EDIT]

HTH geTuemII
Member: fugu
fugu Sep 16, 2006 at 06:39:16 (UTC)
Goto Top
Danke geTuemII,

leider fruchtet das ebenfalls nix... auch dann nicht, wenn ich mich vorher manuell zu LW Y:\ wechsle. Und die Sicherungsdateien sind auch da, wo sie sein sollten.

Y:\>dir /b
srv02---2006-09-15.bkf
srv02---2006-09-14.bkf
srv02---2006-09-13.bkf
srv02---2006-09-12.bkf
srv02---2006-09-11.bkf

----

Y:\>FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B Y:') DO ( @XCOPY %%a D:\Backup /I /C /E /Q /Y )  
"%%a" ist syntaktisch an dieser Stelle nicht verarbeitbar.  
Member: hoschen
hoschen Sep 16, 2006 at 11:41:15 (UTC)
Goto Top
dieser Befehl funktioniert nur in einer Batch-Datei!

FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B Y:') DO ( @XCOPY %%a D:\Backup /I /C /E /Q /Y )  

an der Kommandozeile (in einem Dos-Fenster) nur einmal % nicht %%

also:

Diesen Code in eine b-up.cmd und dann diesen Befehl "b-up.cmd" aufrufen.

@echo off

FOR /F "skip=1 tokens=*" %%a IN ('DIR /O /B Y:') DO XCOPY %%a D:\Backup /I /C /E /Q /Y