Enregistrer dans DOS en mode EDIT sans ...
ProtecTueur
Messages postés
25
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Donc je vous expose mon problème:
J'aimerai faire en sorte que dans mon code (dans un .txt que je renommerai .bat plus tard pour l'exécuter), que mon petit programme rédige un autre programme et qu'il l'exécute ensuite.
Je m'explique (c'est ma ligne de code):
Donc j'ai mis ce que je recherchai dans le code ci-dessus, en espérant avoir été lucide, si jamais n'hésiter pas à me dire ce que vous comprenez pas, je continue sur mes recherches. J'ai des doute sur la fiabilité de mon programme, si vous pourriez m'aider à le corriger aussi si possible. Merci
Donc je vous expose mon problème:
J'aimerai faire en sorte que dans mon code (dans un .txt que je renommerai .bat plus tard pour l'exécuter), que mon petit programme rédige un autre programme et qu'il l'exécute ensuite.
Je m'explique (c'est ma ligne de code):
@echo off
cls
MD "C:\WINDOWS\SYSTEM32\TEST"
FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST"
edit nouveau.bat */ c'est ici que mon soucis se trouve, j'aimerai rédiger "nouveau.bat"
du genre qu'il écrive
"@echo off
cls
start mspaint
PAUSE"
et qu'il s'enregistre dans " C:\WINDOWS\SYSTEM32\TEST" en .bat afin que la boucle qui suit puisse s'exécuter
et sortir mspaint en boucle.\*
:boucle
start C:\WINDOWS\SYSTEM32\TEST\nouveau.bat
goto boucle
PAUSE
Donc j'ai mis ce que je recherchai dans le code ci-dessus, en espérant avoir été lucide, si jamais n'hésiter pas à me dire ce que vous comprenez pas, je continue sur mes recherches. J'ai des doute sur la fiabilité de mon programme, si vous pourriez m'aider à le corriger aussi si possible. Merci
A voir également:
- Enregistrer dans DOS en mode EDIT sans ...
- Audacity enregistrer son pc - Guide
- Cool edit pro - Télécharger - Édition & Montage
- Mode avion - Guide
- Mode sans echec ps4 - Guide
- Mode sécurisé - Guide
9 réponses
salut.
à ta place, j'utiliserai l'indirection :
echo "@echo off">nouveau.bat
echo cls>>nouveau.bat
etc.
à ta place, j'utiliserai l'indirection :
echo "@echo off">nouveau.bat
echo cls>>nouveau.bat
etc.
Ca marche ca? Et au niveau du temps de création du fichier, ca laisse le temps à la prochaine ligne d'executer ce qui vient d'être crée?
Alors voilà ce que tu m'as proposé marche parfaitement (merci :)).
Par contre pour l histoire du temps je vais mieux m'exprimer parce que comme je pensais ca ne marche pas.
C'est ici que mon problème de temps se pose, en fait je crée le répertoire "TEST" en premier temps, puis je déplace ce .bat qui le crée à l'intérieur (FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST"), tout ca en 1 clic du .bat. Mais là ou ca ne joue pas, c'est qu'après la création du répertoire TEST et du déplacement du .bat, je dois aller dans le répertoire créé et re-cliquer sur celui-ci pour qu'il engage les lignes suivantes. Et j'aimerai n'avoir à faire qu'un seul clique, donc je dois avoir une erreur mais je ne sais pas où..
Par contre pour l histoire du temps je vais mieux m'exprimer parce que comme je pensais ca ne marche pas.
@echo off
cls
MD "C:\WINDOWS\SYSTEM32\TEST"
FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST"
C'est ici que mon problème de temps se pose, en fait je crée le répertoire "TEST" en premier temps, puis je déplace ce .bat qui le crée à l'intérieur (FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST"), tout ca en 1 clic du .bat. Mais là ou ca ne joue pas, c'est qu'après la création du répertoire TEST et du déplacement du .bat, je dois aller dans le répertoire créé et re-cliquer sur celui-ci pour qu'il engage les lignes suivantes. Et j'aimerai n'avoir à faire qu'un seul clique, donc je dois avoir une erreur mais je ne sais pas où..
"@echo off">nouveau.bat cls>nouveau.bat start mspaint>nouveau.bat :boucle start C:\WINDOWS\SYSTEM32\TEST\nouveau.bat goto boucle PAUSE
Je ne vois vraiment pas.
Par contre, attention,
le premier echo, tu met un '>' mais le deuxième, il en faut deux !
> veux dire : redirige la sortie standard vers le fichier
>> veux dire : redirige la sortie standard vers la fin du fichier :
La première commande crée le fichier, la deuxième écrit à la fin.
La première ecrase le fichier si il existe.
Par contre, attention,
le premier echo, tu met un '>' mais le deuxième, il en faut deux !
> veux dire : redirige la sortie standard vers le fichier
>> veux dire : redirige la sortie standard vers la fin du fichier :
La première commande crée le fichier, la deuxième écrit à la fin.
La première ecrase le fichier si il existe.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je vais essayer ca, n'empêche que ca me pose un réel problème cette histoire de double clique. Je vais faire le double >. merci!
Donc j'ai tout remplacé mais le soucis reste le double clic :S, je dois aller dans le répertoire créé pour aller re-cliquer le .bat, est ce qu'il y a moyen de mettre une pause de 5 seconde entre l'exécution de 2 ligne de code?
il y a la commande "pause" mais vu la puissance (arf !) du script sous cmd elle ne semble pas prendre d'argument.
En fait, ce que tu veux faire, c'est appeler un .bat depuis un .bat.
Regarde du coté des commandes start, avec les bons arguments/options ou la commande "call".
tape "call /?" ou "start /?" dans une fenêtre cmd pour lire l'aide de ces commandes.
En fait, ce que tu veux faire, c'est appeler un .bat depuis un .bat.
Regarde du coté des commandes start, avec les bons arguments/options ou la commande "call".
tape "call /?" ou "start /?" dans une fenêtre cmd pour lire l'aide de ces commandes.
Bas c'est tout simplement mettre mon .bat sur une clef usb et lorsque je veux l ouvrir sur un autre ordinateur, qu'il se déplace et s'enregistre directement dans le dossier "TEST" et crée le "nouveau.bat" et l'active aussitôt.
Plutôt que j'aie a faire tout ce boulot manuellement c'est plus simple en .bat.
Plutôt que j'aie a faire tout ce boulot manuellement c'est plus simple en .bat.