华域联盟 vbs 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
您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)

转载请保留出处和原文链接:https://www.cnhackhy.com/16158.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部