Пакетный файл DOS для чтения содержимого файла и переименования файла в зависимости от условия - PullRequest
0 голосов
/ 26 марта 2010

Мне нужно создать командный файл, который читает файл одной строкой, а затем переименовывает тот же файл в зависимости от содержимого. Файл будет иметь один номер, и условие для переименования файла будет следующим:

Если содержимое файла> 100, тогда переименуйте new.txt в old.txt иначе переименуйте new.txt в new1.txt

Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 26 марта 2010

Примечание: Я предполагаю, что вам не нужно делать это в DOS, а вместо этого использовать пакетный файл Windows. В противном случае это становится намного страшнее, чем нужно.

Если файл содержит только одну строку, самый простой способ прочитать содержимое этого файла - использовать set /p и перенаправить содержимое файла:

set /p Content=<new.txt

Затем у вас есть первая строка файла в %Content% и вы можете сравнить на основе этого:

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

(GTR - оператор «больше чем»; использование >, очевидно, было бы плохой идеей.)

1 голос
/ 26 марта 2010
@echo off
set /p line=<new.txt
if %line% GTR 100 (
  ren "new.txt" "old.txt"
)else (
  ren "new.txt "new1.txt"
)
...