Je rencontre des problèmes pour exécuter un fichier de commandes qui copiera des fichiers d'un lecteur réseau mappé sur un lecteur local.
Voici le code de lot que j'utilise (c'est juste dans un dossier de bas niveau pour le moment, car je ne veux pas exécuter de commandes dans un environnement de production tant que tout n'est pas parfait).
echo off
cls
echo Would you like to do a backup?
pause
copy "\\My_Servers_IP\Shared Drive\FolderName\*" C:TEST_BACKUP_FOLDER
pause
Et j'ai aussi essayé:
echo off
cls
echo Would you like to do a backup?
pause
copy "\\My_Servers_Name\Shared Drive\FolderName\*" C:TEST_BACKUP_FOLDER
pause
Aucune des commandes ci-dessus ne copie les fichiers dans C: TEST_BACKUP_FOLDER lorsque je le demande, mais si j'utilise la même syntaxe exacte mais effectue une demande de copie à partir d'un lecteur local, la syntaxe ne pose aucun problème et passe directement à la dossier ci-dessus sans problèmes.
La partie la plus étrange est que la sortie de cmd montre même que les fichiers que je veux copier sont même reconnus dans la ligne de commande et à la fin, il indique «1 fichiers copiés» mais rien ne se copie dans ce dossier. Je sais donc que la destination de la demande de copie est correcte car elle reconnaît même les fichiers présents dans le dossier et les noms s'affichent. Et comme je l’ai dit, la destination en C: est également correcte, car lorsque j’utilise cette adresse sur le PC local, ils les copient dans ce dossier à chaque fois. C'est évidemment quelque chose à voir avec le lecteur réseau. Au début, j’imaginais que c’était peut-être un problème d’autorisation, mais le dossier que j’essaie actuellement est un lecteur mappé partagé auquel toute personne de la société peut accéder et à laquelle il a des privilèges r/w. Pourquoi de tels problèmes sur un lecteur partagé public?
Pourriez-vous proposer d'autres suggestions?
Vous copiez tous les fichiers dans un seul fichier appelé TEST_BACKUP_FOLDER
essaye ça:
md TEST_BACKUP_FOLDER
copy "\\My_Servers_IP\Shared Drive\FolderName\*" TEST_BACKUP_FOLDER
Il suffit de faire le changement suivant
echo off
cls
echo Would you like to do a backup?
pause
copy "\\My_Servers_IP\Shared Drive\FolderName\*" C:\TEST_BACKUP_FOLDER
pause
Cela peut être dû à un contrôle de sécurité. Ce fil pourrait vous aider.
Il y a deux suggestions: une avec pushd et une avec un changement de registre. Je suggère d'utiliser le premier ...
Plus important encore, vous devez monter le lecteur
Net Use z: \\yourserver\sharename
Bien entendu, vous devez vous assurer que le compte sous lequel le fichier de commandes est exécuté est autorisé à accéder au partage. Si vous le faites en utilisant une tâche planifiée, vous pouvez choisir le compte en sélectionnant la tâche, puis:
"Lors de l'exécution de la tâche, utilisez le compte d'utilisateur suivant:" C'est sous Windows 7, il peut être légèrement différent selon les versions de Windows.
Puis lancez votre script batch avec les modifications suivantes
copy "z:\FolderName" "C:\TEST_BACKUP_FOLDER"