根据Windows版本修改文件内容

问题描述 投票:0回答:1

我想在基于os名称的文本文件中添加几行。伪代码示例:

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"
batch-file command-prompt
1个回答
0
投票

不要通过创建变量使其复杂化,否则您可能需要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和echo到相关文件。

有关上述命令的更多信息,请参阅cmdline for /?if /?

您需要将上述代码复制到文本文件中,并将其保存为带有.cmd.bat扩展名的文件。请不要将它命名为ver.batver.cmd,因为ver是一个系统命令。称之为my_version_script.cmd

© www.soinside.com 2019 - 2024. All rights reserved.