• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    上一篇:利用VBS发送短信的实现代码(通过飞信)
    下一篇:用vbs产生的若干个随机数并写入到一个.txt中的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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