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

(0)

相关推荐

  • 解决Java调用BAT批处理不弹出cmd窗口的方法分析

    常规调用方式:(这个肯定会弹出cmd窗口) 复制代码 代码如下: Runtime.getRuntime().exec("cmd.exe   /C   start   D:\\test.bat"); 解决不弹框只需要"start"后面加一个参数"/b"就行: 复制代码 代码如下: Runtime.getRuntime().exec("cmd.exe   /C   start   /b   D:\\test.bat"); 复制代码

  • 运行bat时隐藏cmd窗口的方法(bat隐藏窗口 隐藏运行bat文件)

    这里我们简单的整理下常用方法,方便大家使用.都是通过vbscript的代码.运行bat时隐藏cmd窗口的方法 可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序. 复制代码 代码如下: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 批处理程序名",vbhide 将上面代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本ru

  • 使用bat打开多个cmd窗口执行gulp、node

    一.使用场景 使用场景:项目发布前 操作步骤: 1.执行gulp,对文件进行压缩.合并等操作: 2.在1执行完成后,对1中合并的文件如default.css进行多主题色的自动生成,在这里使用node处理. 问题:手工操作步骤繁琐 打开cmd->切换执行目录->执行gulp->关闭cmd(gulp执行后,该窗口不能再执行其他命令)->打开cmd->切换目录->执行node->关闭cmd 需求:使用.bat自动完成上述步骤 二.bat代码 @echo off star

  • 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) s

  • bat批处理批量修改文件扩展名的方法

    有的时候我们可能会遇到,在一个文件夹内有很多个文件,我们需要修改这些文件的扩展名,当然我们可以一个一个的修改,可是如果有很多文件,那就很麻烦了,所以今天就教大家批量修改文件扩展名的方法,希望大家能够灵活运用. 这里假设你要把扩展名为.gif的文件都改成.jpg格式,那么具体方法如下: 1.首先进入需要改扩展名的文件夹内新建一个记事本 2.在记事本中输入如下内容 复制代码 代码如下: ren *.gif *.jpg 3.将记事本的扩展名改名为.bat 4.双击运行bat文件即可批量将该文件夹下的所

  • PHP批量修改文件名称的方法分析

    本文实例讲述了PHP批量修改文件名称的方法.分享给大家供大家参考,具体如下: 在这里我们利用一个战地自己写的一个例子来具体分析一下利用PHP批量修改文件名称的思路和注意事项. 从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用. 程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称: 首先判断用户给出的目录是不是一个合法目录: 我们这里只是修

  • javascript批量修改文件编码格式的方法

    本文实例讲述了javascript批量修改文件编码格式的方法.分享给大家供大家参考.具体如下: 摘要: 最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了.所以自己就写了个程序,批量修改文件编码格式. 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @para

  • nodejs批量修改文件编码格式

    摘要: 最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了.所以自己就写了个程序,批量修改文件编码格式. 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @param {Array}  [file_type] [需要进行转码的文件格式,比如html文件]  *

  • php实现批量修改文件名称的方法

    本文实例讲述了php实现批量修改文件名称的方法.分享给大家供大家参考,具体如下: <?php session_start(); set_time_limit(0); //function allfile($dir) // { // $files=array(); // if(is_file($dir)) // { // return $dir; // } // $handle = opendir($dir); // if($handle) { // while(false !== ($file

  • PHP实现批量修改文件后缀名的方法

    本文实例讲述了PHP实现批量修改文件后缀名的方法.分享给大家供大家参考.具体如下: /** * 批量修改文件后缀名 * @param $path 文件夹路径 * @param $sext 原文件后缀名 ($sext=all说明整个目录的所有文件) * @param $dext 目的文件后缀名 * @return void */ function foreachDir($path,$sext,$dext){ $handle=opendir($path); if($handle){ while (f

  • python批量修改文件编码格式的方法

    本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下 使用说明: 1.使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址:点击这里 2.环境配置:Python安装+配置环境变量,chardet解压放在Python安装目录\Lib\site-packages下 举例:批量修改当前路径下所有.cpp文件的编码格式为UTF-8,代码如下: python: import os import sys import codecs

  • Python实现的批量修改文件后缀名操作示例

    本文实例讲述了Python实现的批量修改文件后缀名操作.分享给大家供大家参考,具体如下: windows和linux下都支持该程序 以下程序可以进行批量修改文件后缀名: #!/usr/bin/env python #coding:utf8 #! python3 #批量修改一个文件下的文件后缀 import sys import os def Rename(): #Path = "F:\\test\\" # windows下的文件目录 Path = input("请输入你需要操

  • python文件操作之批量修改文件后缀名的方法

    1.引言 需要把.dat 格式 转化成 .txt格式 2.实现 ##python批量更换后缀名 import os # 列出当前目录下所有的文件 files = os.listdir('.') #print('files',files) for filename in files: portion = os.path.splitext(filename) # 如果后缀是.dat if portion[1] == ".dat": # 重新组合文件名和后缀名 newname = porti

随机推荐