Изменить содержимое файла в зависимости от версии Windows - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу добавить несколько строк в текстовый файл на основе имени ОС.Пример псевдокода:

os==windows 7 then open file c:\1.txt else open file c:\2.txt

Я хочу добавить статический текст в этот текстовый файл и сохранить текстовый файл.Как мне сделать это в пакетном скрипте?Моя попытка псевдокода:

FOR /F "delims=" %i IN ('ver') DO set osver=%i
echo %osver% 

if %osver% == "Microsoft Windows [Version 6.1.7601]"

set filepath == C:\1.txt and open 1.txt file and add text" abc "
else
set filepath == C:\2.txt and open 2.txt file and add text " abc"

1 Ответ

0 голосов
/ 14 сентября 2018

Не усложняйте это, создавая переменные, в противном случае вам может понадобиться delayedexpansion

@echo off
for /f "tokens=2 delims=[]" %%i in ('ver ^| more +1') do (
  if "%%i"=="Version 10.0.17134.228" echo abc >> "C:\1.txt"
  if "%%i"=="Version 6.1.7601" echo abc >> "C:\2.txt"
) 

Мы разделили version X.X.X.X только так, как мы хотим, чтобы совпадение было как можно меньше.Затем просто выполните if и откройте соответствующий файл.

Подробнее о вышеприведенных командах см. Из cmdline for /? и if /?

Вам необходимо скопировать приведенный выше код в текстфайл и сохраните его как файл с расширением .cmd или .bat. Пожалуйста, не называйте его ver.bat или ver.cmd, поскольку ver является системной командой.Назовите это как my_version_script.cmd.

...