Bonjour,
je fait un petit script pour rename des fichiers (oui encore un poste sur des rename de fichiers ) après un backup:

Code : 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
@echo off
wget monUrlABackup -P O:\test
dir O:\test /b > O:\test\test.txt // je met le contenu des fichiers de o:\test dans un fichier test.txt
 
for /f "delims=" %%i in ('type O:\test\test.txt') do ( // je ressors les lignes du fichier

for /f "tokens=1,2 delims=@" %%a in ("%%i") do ( //je transforme mes fichiers (mon backup les copie sous la forme blablabla.zip@blabla&%blabgvdr#) donc je nettoie le nom en blablabla.zip

echo %%i // m'affiche blablabla.zip@blabla&%blabgvdr#
echo %%a // m'affiche blablabla.zip
cd O:\test // je me met dans le bon dossier
ren %%i %%a // m'affiche "La syntaxe de la commande n'est pas correcte."
pause
)

)
je suppose bien que le problème du rename vient des caractères spéciaux dans le nom du fichier.
Dans le cmd si je tape rename "blablabla.zip@blabla&%blabgvdr#" "blablabla.zip" cela fonctionne bien.
Ma question est donc, comment pourrais-je rajouter les " dans mes variables.
Peut on faire genre ren "+%%i+" "+%%a+" ? ou je dois retraiter les variables en rajoutant " dedans?

j'espère avoir été clair (oui c'est mon premier jour en batch)
merci d'avance