Rename a file onto a Specific Path [DOS]
Hello,
J'essaie d'exécuter les opérations suivantes dans un dossier spécifique:
1- Renommer le fichier en supprimant les Espaces
2- Renommer le fichier en remplaçant les tirets "-" par underscore"_"
3- Déplacer le fichiers vers un autre dossier
voilà ce que j'essaie:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| rem 1- Suppression des espaces dans le nom des fichiers
@echo off
setlocal enableextensions enabledelayedexpansion
for /r "D:\Dir1\Dir2\Dir3" %%f in (*.edi) do (
set ARG=%%~nxf
rename "%%f" !ARG: =!
)
rem 2 - replace tiret
for /r "D:\Dir1\Dir2\Dir3" %%f in (*-*.edi)
do call : ProcessFile %%f
goto :finished
: ProcessFile
set str=%1
rename %1 %str:-=_%
:finished
rem 2- Deplacement des fichiers
MOVE "D:\Dir1\Dir2\Dir3\*.edi" "D:\Dir1\Dir2\Dir10" |
=> le script ne fonctionne que lorsque je l'exécute directement à partir du dossier contenant les fichiers: J'aimerais pouvoir l'exécuter à partir d'un autre dossier
=> lorsque je l'exécute à partir d'un autre dossier il n'y a que le 1 et 3 qui s'exécutent.
=> lorsque j'exécute le 2 séparément à partir de la console DOS j'ai le message: Syntaxe incorrecte.
NB: L'objectif pour moi est de scheduler ce Bat à l'aide d'un utilitaire.va donc se poser le problème du répertoire courant ou s’exécute le batch.
Merci infiniment de votre aide.