Ich versuche, eine einfache Batch-Datei zu erstellen, wo es den Tag überprüft, und wenn der Tag 01 ist, wird das Programm die Dateien in eine Sicherung verschieben.Wenn sonst Schleife im Batch
IF %day%==01(
move *.LST &dfs#\BackUp\
echo "Files moved successfully"
)ELSE (
"Files will get deleted only on 1st day of the month"
)
Aber es wirft den Fehler "Syntax ist falsch", kann jemand bitte überprüfen ..
der else-Befehl hat Echo in es, nur vergessen, während in der Frage –
hinzufügen Dann klicken Sie bitte auf die Schaltfläche [Bearbeiten] (http://stackoverflow.com/posts/37922686/edit) der Frage und korrigieren Sie den Code dort! – aschipfl
1. Es fehlen einige Leerzeichen: eins zwischen '01' und' (', und ein anderes zwischen') 'und' ELSE'; 2. Sie sollten "IF"% day% "==" 01 "' schreiben, um Probleme zu vermeiden, wenn '% day%' leer ist; 3. Sie müssen die Pfade an den 'move'-Befehl zwischen Anführungszeichen setzen, wie' move' * .LST "" & dfs # \ BackUp \ "', weil das '&' ansonsten als Befehlsverknüpfungsoperator interpretiert wird; 4. Sie sollten die Anführungszeichen in den 'Echo'-Texten entfernen, außer Sie sollen auch angezeigt werden ... – aschipfl