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 bat : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager