Articles of batch file

用批处理更新xml文件

我一直在寻找一个小时,没有运气 我的老板希望它是一个batch file 我有一个包含以下的XML文件。 <?xml version="1.0"?> <profiledoc default="*** Last Run ***"> <profile name="*** Last Run ***" > <workingdir>c:\proj</workingdir> <somestuff>none</somestuff> <smpnumprocs>4</smpnumprocs> <otherstuff></otherstuff> <llama>FLUFFY</llama> <language>en-us</language> <customexe></customexe> <addlparams></addlparams> <graphicsdevice>win32</graphicsdevice> </profile> </profiledoc> 我们要设置<smpnumprocs>4</smpnumprocs> (这是所使用的处理器的数量)为2,因此,该行应该看起来像这样<smpnumprocs>2</smpnumprocs> 我想出了如何达到我想要的价值 FOR /f "tokens=3 delims=>< " %%a IN ('TYPE %LOCAL_FILE% ^| FIND "<smpnumprocs>"') DO SET NUM_PROCS=%%a 现在我该如何改变价值?

如何通过使用“findstr”来匹配IP地址? 或者在Windows中批处理的任何其他方法

正如标题所说,我想在Windows中批量匹配ip地址,请告诉我如何才能做到这一点? 我看到“ findstr ”可以匹配正则expression式,如“ [0-9] ”,但“findstr”如何匹配它出现一到三次 ?

使用FOR或FORFILES批处理命令来单独存档特定文件

我有一组.iso文件在不同的目录和子目录中: <folder1> app1.iso app2.iso app3.iso <subfolder1> app1a.iso app2a.iso <subfolder2> app2b.iso app3b.iso <folder2> app4.iso app5.iso <subfolder5> app20.iso 使用batch file并预先安装了7-zip(使用configuration的PATH环境variables),我希望能够将每个.iso归档到它自己的.7z归档文件中。 我不想将当前文件夹中的所有.iso文件归档到一个归档文件中。 我试图与FORFILES一起创build自己的7-zip命令: FORFILES /P . /M *.iso /S /C "cmd /c 7z a -t7z @path.7z -mx9 -mmt >> C:\test\7z-log.txt" 但是,这是做什么的: app1.iso.7z – contains: app1.iso, app2.iso, app3.iso app2.iso.7z – contains: app1.iso.7z, app1.iso, app2.iso, app3.iso app3.iso.7z – contains: app1.iso.7z, […]

Windowsbatch file – 用string作为分隔符分割string

我试图在batch file中使用string(而不是字符)作为分隔符来分割string。 该string的格式为: string1 by string2.txt 分隔符是(是的,空格,单词“by”,后面是空格)。 我想要的输出是: string1 string2 所以,基本上,通过分隔符将string拆分成2个部分by并从第二个string中删除后缀。 我怎样才能做到这一点?

recursion查找和replace文件

我想要做的是以下。 我想创build一些bat文件,它将从当前目录开始recursionsearch文件,并replace为我提供的文件。 例如。 如果我想search并replacetest1.txt,我打开这个小应用程序,并写入text1.txt,并放置我想要replace的文件。 迪尔 app.bat test1.txt // app将recursionsearch文件夹1和文件夹2,并将用test1.txtreplace所有find的结果 文件夹1 文件夹2 我想知道,如果有准备去应用程序或bat文件出于这个原因?

bat文件脚本来检查string是否包含其他string

我需要写一个batch file来检查variables是否包含特定的值。 我试图做到以下几点: If "%%a"=="%%a:%pattern%" ( echo Yes ) else ( echo No ) input示例:%% a =“bob binson”%patern%=“binson” 我从来没有得到印! 任何人都可以请告诉我错过了什么,或者给出一个他将如何做的例子? 提前致谢

在“if”块中设置variables

下面的程序最后总是回应“machine-abc”: @echo Off set dropLoc=machine-abc IF %computername% == "xyz" ( %dropLoc% = machine-xyz ) echo %dropLoc% 这是一个范围问题? if语句中的dropLocvariables是否有不同的作用域? 我已经尝试了以下来解决这个问题: @echo Off set dropLoc=machine-abc IF %computername% == "xyz" ( !dropLoc! = machine-xyz ) echo %dropLoc% 和 @echo Off set dropLoc=machine-abc IF %computername% == "xyz" ( set dropLoc = machine-xyz ) echo %dropLoc% 我该如何做这项工作?

在Windowsbatch file中寻找Unix风格的“getopt”命令行parsing

任何人都可以帮助我find一些parsingWindowsbatch file中的命令行参数,就像在Unix shell脚本中使用getopt / getopts一样? 它不一定都是Posix-y; 只是我可以指定我期望的开关,哪些需要/允许参数。 他们不需要是“长”的开关; 单个字符将工作。 它可以是batch file调用的外部.exe文件。 它必须是免费分发的。

batch file从文本文件中总结数字,并将总值写入文本文件

我在文件夹1中有300个文本文件,在文件夹2中有300个文本文件 下面是一个文本文件的示例内容 india,car,10 uk,car,20 us,car,50 我想总结第三列,并将其写入相同的文本文件。 例, for /f "tokens=3 delims=," %%a in (folder1\textfile1.txt) do set /a total+=%%a echo %total% >folder1\textfile1.txt 上面的代码将在textfile1.txt中写入80 请告诉如何使用batch file对所有300个文本文件执行相同操作。

用putty在批处理中input第二个用户名和密码

我想知道如何在初始login成功后在腻子中自动input用户名和密码。 我有一个bat文件connect.bat @echo off putty [user]@[host] -pw [password] 运行这个之后,它打开一个新的腻子窗口并validationlogin。 如果成功,我不会redirect到shell,而是redirect到另一个login屏幕。 下面的示例。 然后,我需要通过input以下内容手动input不同的用户名和密码。 [username] [ENTER KEY] [password] [ENTER KEY] 最后redirect到主机的菜单。 我尝试了以下内容: echo [username] & [password] | putty [user]@[host] -pw [password] putty [user]@[host] -pw [password] < user_pass.txt putty [user]@[host] -pw [password] -m user_pass.txt 但失败了,有没有办法通过批处理/ PowerShell脚本来执行此操作,还是应该合并另一个应用程序?