2010-03-26 9 views
0

Je dois créer un fichier de commandes qui lit un fichier avec une ligne, puis renomme le même fichier en fonction de son contenu. Le fichier aura un numéro et la condition de renommer le fichier est la suivante:Fichier batch DOS pour lire le contenu d'un fichier et renommer le fichier en fonction d'une condition

Si le contenu du fichier> 100 puis renomme new.txt à old.txt autre renommer new.txt à NEW1.TXT

Merci pour l'aide!

+2

Avez-vous vraiment besoin de faire cela sous DOS? J'ai de sérieux doutes à ce sujet ... – Joey

Répondre

1
@echo off 
set /p line=<new.txt 
if %line% GTR 100 (
    ren "new.txt" "old.txt" 
)else (
    ren "new.txt "new1.txt" 
) 
2

Remarque: Je suppose que vous n'avez pas besoin de faire cela sous DOS, mais plutôt avec un fichier de commandes Windows. Sinon, cela devient plus laide que nécessaire.

Si le fichier a une seule ligne la meilleure façon de lire le contenu de ce fichier est d'utiliser set /p et rediriger le contenu du fichier:

set /p Content=<new.txt 

Vous avez alors la première ligne du fichier %Content% et peut comparer sur la base que:

if %Content% GTR 100 (ren new.txt old.txt) else (ren new.txt new1.txt) 

(GTR est le « supérieur à » l'opérateur, en utilisant > serait évidemment une mauvaise idée.)

+0

Merci pour votre aide. Je utilisé les solutions pour créer un fichier batch Windows qui ressemble à ceci: @echo off : BEGIN pushd D: \ Data_Files \ FTP \ MISC set/p Contenu =

Questions connexes