BATCH - Copy vers une variable
Fermé
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
-
19 mai 2012 à 21:07
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 9 juin 2012 à 16:08
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 9 juin 2012 à 16:08
A voir également:
- BATCH - Copy vers une variable
- Windows 7 vers windows 10 - Guide
- Fichier batch - Guide
- Super copy - Télécharger - Gestion de fichiers
- Transferer photo android vers pc - Guide
- Batch pause 10 secondes ✓ - Forum Programmation
7 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
1 juin 2012 à 09:44
1 juin 2012 à 09:44
enlever le @echo off pour que le script affiche tout ce qu'il fait, surtout le contenu des variables
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 20/05/2012 à 10:04
Modifié par dubcek le 20/05/2012 à 10:04
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:\\=\!
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
Modifié par llWorldFirell le 20/05/2012 à 13:05
Modifié par llWorldFirell le 20/05/2012 à 13:05
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.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
20 mai 2012 à 13:32
20 mai 2012 à 13:32
c'est peut être monfichier.txt qu'il ne trouve pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
20 mai 2012 à 14:29
20 mai 2012 à 14:29
non non j'ai essaye sur un autre dossier ca fonctionne.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 20/05/2012 à 15:00
Modifié par dubcek le 20/05/2012 à 15:00
essaye
type monfichier.txt > "%gamelocation%\test.txt"
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
20 mai 2012 à 15:10
20 mai 2012 à 15:10
A la place de copy je suppose.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 20/05/2012 à 15:15
Modifié par dubcek le 20/05/2012 à 15:15
oui tester si il est possible de créer un fichier dans ce dossier
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
21 mai 2012 à 19:56
21 mai 2012 à 19:56
Et test.txt, j'en fais quoi ? Je comprends pas ta syntaxe, comment on peut faire un type sur deux fichiers differents ?
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 22/05/2012 à 09:14
Modifié par dubcek le 22/05/2012 à 09:14
a la place d'afficher sur l'écran, il va écrire dans un fichier, le > est une redirection
c'est un équivalent de copy
c'est un équivalent de copy
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
22 mai 2012 à 19:01
22 mai 2012 à 19:01
Est ce que test.txt doit déjà exister ?
llWorldFirell
Messages postés
13
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
9 juin 2012
31 mai 2012 à 19:11
31 mai 2012 à 19:11
@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
9 juin 2012 à 14:02
9 juin 2012 à 14:08
9 juin 2012 à 14:19
on voit tout de suite l'espace
9 juin 2012 à 15:55
9 juin 2012 à 16:08