2017-07-10 4 views
0

Je suis en train de déplacer tous les fichiers .txt dans des dossiers différents vers un seul dossier en utilisant un fichier batch, je suis nouveau pour le codage par lots, donc je suis avoir quelques difficultés.Déplacer des fichiers .txt dans différents dossiers vers un seul dossier en utilisant le fichier Batch

Mon code est le suivant:

FOR /D /r %%G IN ("C:\Users\Rodrigo\Desktop\PR\2016\08.2016\") DO MOVE G\*.txt C:\Users\Rodrigo\Desktop\PR\2016\ 
+0

double possible de [commande de mouvement récursif sur les fenêtres] (https://stackoverflow.com/questions/10155420/recursive-move-command-on-windows) –

Répondre

0

Voir la syntaxe correcte de For /r ou dans un type de fenêtre cmd ouverte help for

@Echo off 
For /r "C:\Users\Rodrigo\Desktop\PR\2016\08.2016\" %%G IN (*.txt 
    ) Do echo Move "%%G" "C:\Users\Rodrigo\Desktop\PR\2016\" 
Pause 

Si la sortie à l'écran semble supprimer OK l'écho devant de la commande de déplacement.

+0

vous aviez raison, ma réponse n'a pas été récursive. Quant au "G * .txt" c'est ce qu'il avait dans sa question, c'est pourquoi j'ai utilisé ça. –

+0

@RatherNotsay Eh bien je suppose que c'était son essai pour obtenir la sortie de "%% G" – LotPings

+0

Oui, c'est plus évident maintenant que quelqu'un a édité la question avec le formatage du code approprié. :) –

0

Vous pouvez faire tout cela dans PowerShell. Je ne suis pas sûr que cela fonctionnera si vous ne passez pas le $ _. FullName qui contient le chemin d'accès au fichier.

Get-ChildItem -Path "C:\Users\Rodrigo\Desktop\PR\2016\08.2016\" -Filter *.txt | ` 
    ForEach-Object { $_.FullName } | ` 
    Move-Item -Destination "C:\Users\Rodrigo\Desktop\PR\2016\" 
+0

Pas besoin d'échapper les sauts de ligne, après le tuyau ou une virgule powershell continue sur la ligne suivante. – LotPings

+0

Oui, je sais que le caractère GRAVE ACCENT de continuation de ligne n'est pas requis lorsqu'il y a une BARRE VERTICALE à la fin de la ligne. J'essayais d'être explicite PowerShell n'est pas un langage libre. Il y a des moments où c'est nécessaire. – lit