J'essaie d'exécuter une sauvegarde simple (miroir) d'un lecteur entier (d :) vers un autre lecteur (k :). J'ai créé un fichier .bat ('backup.bat') définissant la source (d :) et la destination (k :) et j'ai placé ce fichier batch dans un dossier sur le lecteur d (d:\temp). Lorsque je double-clique sur le fichier batch, il définit la source comme d:\temp, au lieu de ce que je l'ai défini comme dans le fichier batch; ré:.
Voici le texte du fichier .bat:
@echo off
echo To begin backing up data:
pause
robocopy "D:" "K:" /L /v
echo.
pause
exit
Et c'est ce qui apparaît lorsque je double-clique sur le fichier backup.bat
Comme vous pouvez le voir, la source est définie comme d:\temp. C'est là que se trouve le fichier de commandes, mais dans le fichier de commandes, je l'ai défini comme D :. Pour une raison quelconque, la destination est définie correctement.
Des idées?
-Al
EDIT: Si j'ajoute le "/" à la source et à l'emplacement de destination, voir le code ci-dessous, je vois un comportement encore plus étrange (voir capture d'écran). La source est désormais à la fois la source et la destination définies combinées, sans destination.
@echo off
echo To begin backing up data:
pause
robocopy "D:\" "K:\" /L /v
echo.
pause
exit
Et, si je supprime le "" de la source et de la destination .... ça marche!
@echo off
echo To begin backing up data:
pause
robocopy D:\ K:\ /L /v
echo.
pause
exit
avec "D:"
vous êtes pas spécifiant le répertoire racine du lecteur D (D:\
) mais le répertoire actuel de D à la place, (D:\temp
dans votre exemple).
Pour résoudre ce problème, ajoutez simplement \
à la spécification source (et là-bas, à la spécification dest également)
robocopy d:\ k:\ /L /v
Utilisez le /E
Option. Vérifiez également les autres paramètres nécessaires/utiles tels que /copyall
/ZB
ou /DCOPY:DAT
via /?
.