mkdir avec espace dans le nom de fichier
Posté : 30 juil. 2008 19:56
Bonjour,
J'ecris un fichier bat pour recréer la structure d'un repertoire existant vers un autre repertoire. J'ai un lecteur reseau Z: contenant le repertoire source et un lecteur reseau Y: devant contenir le repertoire de destination. Voila le script :
(le parametre %1 est un repertoire se trouvant sur le lecteur Z:)
Le script ne copie pas les repertoires avec un espace dans le nom (le nom du rep est tronqué à partir de l'espace) alors que le nom est entre les crochets. Je ne comprend pas ce qui se passe. Alors que quand je fais un test dans une fenetre dos, ca marche sans probleme exemple mkdir "Y:\test\un rep".
Besoin d'aide.
Merci.
J'ecris un fichier bat pour recréer la structure d'un repertoire existant vers un autre repertoire. J'ai un lecteur reseau Z: contenant le repertoire source et un lecteur reseau Y: devant contenir le repertoire de destination. Voila le script :
(le parametre %1 est un repertoire se trouvant sur le lecteur Z:)
Code : Tout sélectionner
if "%1"=="" (
echo Le repertoire doit etre fourni en parametre
goto end
)
rem test de l'existance du repertoire
if not exist %1\*.* (
echo repertoire inexistant
goto end
)
if exist c:\liste_rep.txt del c:\liste_rep.txt
dir %1\*.* /ad /b /w /s >>c:\liste_rep.txt
setlocal enableDelayedExpansion
for /f %%a in (c:\liste_rep.txt) do (
set var1=%%a
set var1=!var1:Z:\=Y:\!
mkdir "!var1!"
)
endlocal
:end
Besoin d'aide.
Merci.