Je souhaite écrire une ligne de texte sur une ligne spécifique d'un fichier texte existant en utilisant la programmation DOS dans Windows XP. Je souhaite également saisir le numéro de ligne de l'utilisateur. Toute aide serait appréciée.Programmation de fichier par lots Windows
Répondre
Exemple de demander à l'utilisateur:
:MENU
SET /P TYPE=Type the line number and press enter:
if "%TYPE%"=="1" goto ONE
if "%TYPE%"=="2" goto TWO
if "%TYPE%"=="3" goto THREE
if "%TYPE%"=="4" goto FOUR
if "%TYPE%"=="5" goto FIVE
goto MENU
Note: La commande FOR avec l'option L peut générer une plus grande crosscheck; pour plus d'informations, tapez c:> FOR /?
POUR/L% variable IN (début, étape, fin) DO commande [paramètres]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)
POUR/L %% un IN (1,1,1000) DO si « TYPE% % "==" %% un » goto: VALIDNUM
@echo off
rem this only prompts the user for a number
set VALIDNUM=
:MENU
cls
echo.
echo.
If NOT "%VALIDNUM%"=="" echo the number is %VALIDNUM%
echo.
SET /P TYPE=Type a line number and press enter:
FOR /L %%a IN (1,1,1000) DO if "%TYPE%"=="%%a" set VALIDNUM=%TYPE%
goto MENU
Peut-être que vous ne devriez pas utiliser Batch pour cela. Ou peut-être que vous ne devriez pas utiliser de lot du tout.
Peut-être que quelque chose comme ça peut fonctionner. Je ne l'ai pas testé à travers.
setlocal enabledelayedexpansion
SET /a counter=0
echo. > newfile
for /f "usebackq delims=" %%a in (yourfile.txt) do (
if "!counter!"=="%1" echo "YOUR SPECIFIC LINE" >> newfile
if not "!counter!"=="%1" echo %%a >> newfile
set /a counter+=1
)
move newfile yourfile.txt
Mais cela ne fonctionnera pas si vous utilisez DOS et non une version de Windows NT. (Modifier vos tags si vous utilisez Windows et non dos)
utilisateur advanced batch file editor Dr.Batcher, vous serez en mesure de créer de tels scripts juste en quelques clics!
- 1. Programmation de fichier par lots
- 2. Sémantique de redirection de programmation par lots de Windows
- 3. Démarrage automatique d'un fichier de traitement par lots sous Windows
- 4. Suppression de fichier par lots
- 5. Windows Recherche par lots et remplacement Question
- 6. Arguments de chargement de script par lots de Windows
- 7. Comment appeler un fichier de commandes Windows à partir d'un autre fichier de traitement par lots
- 8. Décodage de l'URL de script par lots Windows
- 9. Fichier de traitement par lots: masque de fichier
- 10. Renommer un fichier avec un script de traitement par lots
- 11. Ruby - Lire le fichier par lots
- 12. Mathématiques par lots (win)
- 13. Utilisation de Windows PowerShell en tant que planificateur par lots
- 14. Paralléliser une application par lots
- 15. Fichier de traitement par lots: Mot de passe Étoiles/Cercles
- 16. Résultats ERRORLEVEL par lots différents de CMD?
- 17. Comment compléter un fichier pdf par programmation?
- 18. Surveillance par lots Java
- 19. script par lots
- 20. Redémarrage d'une machine Windows 7 par programmation
- 21. Désactiver l'animation Windows CE, par programmation?
- 22. Windows Phone 7: Programmation par socket
- 23. Confirmer l'impression réussie par programmation dans Windows
- 24. Commande (s) par lots Windows pour lire la première ligne à partir du fichier texte
- 25. Comment obtenir le niveau d'erreur des commandes dans un tube dans la programmation par lots de Windows?
- 26. Processus d'installation de script par lots
- 27. Création d'instructions sql par lots
- 28. Conversion de fichiers par lots en vbscript
- 29. de Windows Programmation
- 30. concaténation par lots d'images png en un seul fichier
Merci pour la réponse précédente.J'utilise Windows XP. J'ai l'intention d'écrire un fichier batch pour cela. Je l'ai essayé. Mais "!" symbole provoque une erreur.Je veux écrire une ligne de texte à une ligne spécifique dans un fichier texte déjà existant.J'ai aussi besoin d'entrer le numéro de ligne. De l'utilisateur. Maintenant, ce code efface mon fichier existant. Plus d'aide? – 1355
La sixième ligne devrait être si "! Counter!" == "% 1" echo %% a >> nouveaufichier –
Oui, je n'ai pas touché au lot depuis longtemps. Corrigé cela. suis libre de modifier mon message pour d'autres erreurs. – BatchyX