BATCH - Copy vers une variable
llWorldFirell
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voilà j'ai stocké un répertoire dans une variable de cette manière :
Seulement une fois que je veux copier des fichiers vers ce repertoire, il me dit que le chemin est introuvable. Fail.
la syntaxe n'est peut être pas bonne, la voici :
C'est triste de rencontrer une erreur comme ça ^^.
Si quelqu'un peut m'aider, je le remercierai bien !
Merci d'avance en tout cas !
Voilà j'ai stocké un répertoire dans une variable de cette manière :
REG EXPORT "HKLM\SOFTWARE\Wow6432Node\THQ\Dawn of War - Dark Crusade" var1.txt FIND /I "InstallLocation" var1.txt>var2.txt FOR /F "usebackq skip=2 tokens=2* delims==" %%v in (var2.txt) DO ECHO %%v>var3.txt && SET /p var1=<var3.txt set var2=%var1:"=% set gamelocation=%var2:\\=\% del var*.txt
Seulement une fois que je veux copier des fichiers vers ce repertoire, il me dit que le chemin est introuvable. Fail.
la syntaxe n'est peut être pas bonne, la voici :
copy monfichier.txt "%gamelocation%"
C'est triste de rencontrer une erreur comme ça ^^.
Si quelqu'un peut m'aider, je le remercierai bien !
Merci d'avance en tout cas !
A voir également:
- BATCH - Copy vers une variable
- Fichier batch - Guide
- Exact audio copy - Télécharger - Conversion & Extraction
- Super copy - Télécharger - Gestion de fichiers
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Copy protect - Télécharger - Chiffrement
7 réponses
enlever le @echo off pour que le script affiche tout ce qu'il fait, surtout le contenu des variables
hello
affiche la variable, avec des + pour repérer les espaces
affiche la variable, avec des + pour repérer les espaces
echo +%gamelocation%+ou essayer
setlocal enableDelayedExpansion REG EXPORT "HKLM\SOFTWARE\Wow6432Node\THQ\Dawn of War - Dark Crusade" var1.txt FIND /I "InstallLocation" var1.txt>var2.txt FOR /F "usebackq skip=2 tokens=2* delims==" %%v in (var2.txt) DO ECHO %%v>var3.txt && SET /p var1=<var3.txt set var2=!var1:"=! set gamelocation=!var2:\\=\!
Le problème c'est que ce n'est pas dans un "echo", mais dans un "copy", c'est ça qui diffère ^^. J'essaye la deuxième solution !
EDIT : La deuxième solution ne fonctionne pas. Je ne pense pas que ce soit les espaces le problème, vu que j'entoure le dossier de destination de guillemets.
De plus quand je fais un echo de %gamelocation%, je tombe bien sur le dossier exact : C:\Jeux\Dawn of War - Dark Crusade avec les espaces sans problème. C'est ça qui est bizarre, en "echo" le chemin est ok, mais en "copy" il ne le trouve pas.
EDIT : La deuxième solution ne fonctionne pas. Je ne pense pas que ce soit les espaces le problème, vu que j'entoure le dossier de destination de guillemets.
De plus quand je fais un echo de %gamelocation%, je tombe bien sur le dossier exact : C:\Jeux\Dawn of War - Dark Crusade avec les espaces sans problème. C'est ça qui est bizarre, en "echo" le chemin est ok, mais en "copy" il ne le trouve pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question@echo off color 02 setlocal enableDelayedExpansion REG EXPORT "HKLM\SOFTWARE\Wow6432Node\THQ\Dawn of War - Dark Crusade" var1.txt FIND /I "InstallLocation" var1.txt>var2.txt FOR /F "usebackq skip=2 tokens=2* delims==" %%v in (var2.txt) DO ECHO %%v>var3.txt && SET /p var1=<var3.txt set var2=!var1:"=! set gamelocation=!var2:\\=\! del var*.txt cls goto menu :menu echo. echo ******************************************************* echo * * echo * LANGUAGE CHANGER FOR DAWN OF WAR - DARK CRUSADE * echo * * echo ******************************************************* echo. echo Game location found : %gamelocation% goto voicemenu :voicemenu echo. echo Which language would you like to setup for voices ? echo. echo 1) English echo 2) French echo 3) Exit echo. echo Please enter your number choice here : echo. set /P V= if "%V%"=="1" set VoiceLanguage=English if "%V%"=="2" set VoiceLanguage=French if "%V%"=="1" goto EnglishVoices if "%V%"=="2" goto FrenchVoices if "%V%"=="3" exit :EnglishVoices echo. copy "ANGLAIS\VOIX ANGLAISES\DXP2Data-Sound-Speech.sga" "%gamelocation%\DXP2\Locale\English\" /Y copy "ANGLAIS\VOIX ANGLAISES\W40kData-Sound-Speech.sga" "%gamelocation%\W40k\Locale\English\" /Y echo. PING 1.1.1.1 -n 1 -w 2000 >NUL goto textmenu :FrenchVoices echo. copy test.txt "+%gamelocation%+\DXP2\Locale\English\" /Y // Ici, c'est les deux lignes de test, donc si su tu veux modifier le fichier, essaye de le faire ici. copy test.txt "%gamelocation%" /Y echo. PING 1.1.1.1 -n 1 -w 2000 >NUL goto textmenu :textmenu echo. echo Which language would you like to setup for texts ? echo. echo 1) English echo 2) French echo 3) Exit echo. echo Please enter your number choice here : echo. set /P T= if "%T%"=="1" set TextLanguage=English if "%T%"=="2" set TextLanguage=French if "%T%"=="1" goto EnglishTexts if "%T%"=="2" goto FrenchTexts if "%T%"=="3" exit :EnglishTexts echo. copy "ANGLAIS\TEXTES ANGLAIS\DXP2.ucs" "%gamelocation%\DXP2\Locale\English\" /Y copy "ANGLAIS\TEXTES ANGLAIS\W40k.ucs" "%gamelocation%\W40k\Locale\English\" /Y copy "ANGLAIS\TEXTES ANGLAIS\Engine.ucs" "%gamelocation%\Engine\Locale\English\" /Y echo. PING 1.1.1.1 -n 1 -w 2000 >NUL goto endmenu :FrenchTexts echo. copy "FRANCAIS\TEXTES FRANCAIS\DXP2.ucs" "%gamelocation%\DXP2\Locale\English\" /Y copy "FRANCAIS\TEXTES FRANCAIS\W40k.ucs" "%gamelocation%\W40k\Locale\English\" /Y copy "FRANCAIS\TEXTES FRANCAIS\Engine.ucs" "%gamelocation%\Engine\Locale\English\" /Y echo. PING 1.1.1.1 -n 1 -w 2000 >NUL goto endmenu :endmenu echo Language for the voices applied : %VoiceLanguage% echo Language for the texts applied : %TextLanguage% echo. pause
on voit tout de suite l'espace