J'ai besoin de déplacer des fichiers d'un répertoire à un autre dans Windows, et je dois l'écrire dans un script batch.
Nous avons écrit un travail SQL où des fichiers de sauvegarde seront créés toutes les 4 heures sur le D:
le lecteur et les 4 derniers fichiers de sauvegarde seront enregistrés et d'autres seront supprimés.
J'ai besoin d'écrire un script batch pour déplacer ces fichiers du D:
conduisez vers le E:
conduire toutes les 10 heures.
Quelqu'un peut-il m'aider à écrire ce script.
Créez un fichier appelé MoveFiles.bat avec la syntaxe
move c:\Sourcefoldernam\*.* e:\destinationFolder
puis planifiez une tâche pour exécuter ce MoveFiles.bat toutes les 10 heures.
Vous pouvez essayer ceci:
:backup move C:\FilesToBeBackedUp\*.* E:\BackupPlace\ timeout 36000 goto backup
Si cela ne fonctionne pas, essayez de remplacer "timeout" par sleep. Ik ce poste a plus d'un an, juste pour aider toute personne ayant le même problème.
C'est exactement comme ça que ça a marché pour moi. Pour une raison quelconque, le code ci-dessus a échoué.
Celui-ci exécute une vérification toutes les 3 minutes pour tous les fichiers qu'il contient et le déplace automatiquement vers le dossier de destination. Si vous devez être invité à indiquer des conflits, remplacez/y par/-y
:backup
move /y "D:\Dropbox\Dropbox\Camera Uploads\*.*" "D:\Archive\Camera Uploads\"
timeout 360
goto backup
move c:\Sourcefoldernam\*.* e:\destinationFolder
^ Cela n'a pas fonctionné pour moi pour une raison quelconque
Mais quand j'ai essayé d'utiliser des guillemets, cela a soudainement fonctionné:
move "c:\Sourcefoldernam\*.*" "e:\destinationFolder"
Je pense que c'est parce que mon répertoire avait des espaces dans l'un des dossiers. Donc, si cela ne fonctionne pas pour vous, essayez avec des guillemets!