sauvegarde manuelle des fichiers la tâche s'exécute avec succès mais rien n'a été fait

0

J'ai planifié une tâche exécutant cette cmd de sauvegarde sur Windows Server 2012. Elle fonctionnait auparavant sans les fichiers forfiles, qui sont supposés conserver les dossiers / fichiers de seulement 6 jours d'entrées.

SET date_stamp=%DATE:~10,4%-%DATE:~7,2%-%DATE:~4,2%

forfiles /p E:\Test_Backups\ /D -6 /C "cmd /c del /s /q @PATH"
for /f "usebackq" %d in (`dir /ad/b/s "E:\Test_Backups\"`) do rd "%d"
forfiles /p E:\Test2_Backups\ /D -6 /C "cmd /c del /s /q @PATH"
for /f "usebackq" %d in (`dir /ad/b/s "E:\Test2_Backups\"`) do rd "%d"

mkdir "E:\Test_Backups\%date_stamp%"
mkdir "E:\Test2_Backups\%date_stamp%"

::stop some services
"C:\Program Files\7-Zip\7z.exe" a -m0=COPY "E:\Test_Backups\%date_stamp%\%date_stamp%-TestApp.7z" "D:\Test"
::start some services

Et maintenant, ça a cessé de fonctionner. L'historique du planificateur de tâches indique qu'il a été exécuté, mais rien n'a été sauvegardé dans "E: \ Test_Backups \". Même mkdir n'a pas couru.

Puis-je savoir ce qui se passe?

xiaodouya
la source

Réponses:

0

Je viens de comprendre que cette boucle doit être fermée avant d'exécuter d'autres codes

for /f "usebackq" %d in (`dir /ad/b/s "E:\Test2_Backups\"`) do rd "%d"

Il existe des moyens en ligne pour mener à un autre segment des codes, ce qui est considéré comme une solution de contournement dans cmd, mais pour moi, le plus facile sera de répartir les codes pour deux tâches planifiées.

xiaodouya
la source