手机
当前位置:查字典教程网 >脚本专栏 >vbs >vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)
vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)
摘要:示例代码(t.vbs)如下:复制代码代码如下:Setfso=Wscript.CreateObject("Scripting.FileSyst...

示例代码(t.vbs)如下:

复制代码 代码如下:

Set fso=Wscript.CreateObject("Scripting.FileSystemObject")

flrName="D:Workspacesrc" '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运行结果)】相关文章:

VBS的字符串及日期操作相关函数

邪恶的eval和new Function使用介绍

SQLids.vbs 0.7(最终版,以后改成gui界面的)

用vbs实现向任何电子邮件发送邮件

vbs 解析html文档的方法(htmlfile)

VBS.Runauto脚本病毒分析篇

VBS教程:函数-CCur 函数

vbs通过WMI修改文件文件夹的NTFS权限

VBS教程:运算符-赋值运算符 (=)

Msxml2.XMLHTTP Msxml2.ServerXMLHTTP与缓存

精品推荐
分类导航