首页脚本vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)

vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)

时间2024-02-11 14:12:03发布访客分类脚本浏览632
导读:收集整理的这篇文章主要介绍了vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果),觉得挺不错的,现在分享给大家,也给大家做个参考。 示例代码...
收集整理的这篇文章主要介绍了vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果),觉得挺不错的,现在分享给大家,也给大家做个参考。 示例代码(t.vbs)如下:
复制代码 代码如下:
Set fso=Wscript.CreateObject("Scripting.FileSystemObject")
flrName="D:\Workspace\src\" 'dir that you need deal wITh
count=0 'get the count of modified files
function Traversal(dir)
set flr=fso.getfolder(dir)
set fs=flr.files
findstr1="[asSEMbly: SecurityTransparent]" 'find string that need to be replaced
findstr2=replace(findstr1," ","") 'becaSUSE there is space char in findstr,so add this findstr2
replaceStr="[assembly: AllowPartiallyTrustedCallers()]" 'destination string in replace

for each f in fs
if lcase(f.name)="assemblyinfo.cs" then
set finDF=fso.oPEntextfile(f)
do while findf.atendofstream=false
d=f.datelastmodified 'get modified datetime of current file
alltext=findf.readall

if(InStr(alltext,findstr1) > 0 ) then
s=replace(alltext,findstr1, replaceStr)
count=count+1
findf.close()
'If no findstr2, delete the following elseif block
elseif(InStr(alltext,findstr2) > 0) then
s=replace(alltext,findstr2, replaceStr)
count=count+1
findf.close()

else
findf.close()
exit do
end if

set r=fso.opentextfile(f, 2, true)
r.write s

d2=f.datelastmodified

if d2> =d then exit do
loop

end if
next

set fs=flr.subfolders
for each f in fs
Traversal(f.path)
next

end function

Traversal(flrName)
'msgbox ("Done! "& count & " files were modified successfully.")
wscript.echo "Done! "& count & " files were modified successfully." 'value popup by "wscript.echo" can be received by .bat easily

Wscript.quit count 'this VARiable "count" in order to get a return value by %ErrorLevel%

上面的操作只执行了处理文件的步骤
如果不需要提取运行结果,在批处理或主调vbs脚本里直接 运行该vbs文件就行了。

如果在bat 里调用该vbs脚本,并希望打印出提示信息
可以用下面的两种方法来实现:
1,在bat中加入如下代码
复制代码 代码如下:
@echo off
for /f "delims=" %%a in ('cscript //noLOGo c:\t.vbs') do (
set ScriptOut=%%a)
echo Result: %ScriptOut%

上面的 echo 打印字符串的格式自己根据需要定义,c:\t.vbs 文件目录修改为你的vbs文件目录。

2,bat 中加入
复制代码 代码如下:
@echo off
cscript //nologo c:\t.vbs
echo -----Modify %ErrorLevel% "AssemblyInfo.cs" files successfully.-----

上面echo 文本格式根据自己的需要定义 %ErrorLevel% 用来获取 上面示例vbs文件结尾 count的值,同样需要修改vbs文件的目录 c:\t.vbs 您可能感兴趣的文章:
  • 解决Java调用BAT批处理不弹出cmd窗口的方法分析
  • 运行bat时隐藏cmd窗口的方法(bat隐藏窗口 隐藏运行bat文件)
  • 使用bat打开多个cmd窗口执行gulp、node

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)
本文地址: https://pptw.com/jishu/609903.html
VBS的字符串及日期操作相关函数 vbsTree VBS脚本模拟tree命令

游客 回复需填写必要信息