vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)_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

时间: 2024-10-07 07:22:18

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

bat批处理批量修改文件扩展名的方法_DOS/BAT

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

如何批量修改文件后缀名?

  工具/原料 记事本 电脑 一. 查看显示文件扩展名 既然要修改文件的后缀名,那么我们首先应该查看一下文件的扩展名.(已经知道的直接看后面批量修改的部分) 方法1. 直接选择文件属性,即可查看文件的类型. 方法2 如果要直接显示文件后缀名,可以按照下面操作如下图. 下面以Xp为例,找到开始---控制面板-文件夹选项 3,点击查看-找到把"隐藏已知文件夹类型的扩展名"前面那个钩去掉然后应用 二.修改文件后缀名扩展名(手动修改) 已经能正常查看到文件后缀名了,如果要修改文件后缀名,扩展名

Ubuntu如何查看和批量修改文件编码

我们都知道在Windows下文件编码默认为gbk或者是gb2312,但很多用户有时需要把Windows下的文件移到Linux系统中,所以转移后就经常出现乱码的情况,这该怎么办呢?接下来小编就给大家介绍下Ubuntu查看和批量修改文件编码的方法. 使用enca工具可以进行文件编码的查看. Ubuntu下的安装命令: sudo apt-get install enca enca查看文件 enca -L zh_CN file 查看文件编码 enca -L zh_CN -x UTF-8 file 更改文

批量修改文件后缀,有什么方法可以实现这个功能。

有很多时候我们需要进行这项功能,但是需要这个功能大部分是在处理图片上.如果你是要批量修改文件名的话,那么可以看下<win7实用小功能一键完成批量改照片名字 >. 1 批量修改文件后缀的准备工作: 把所有需要改后缀的文件遇到同个文件夹里面,文件里面别放不需要改后缀的文件.因为等下这个文件夹里面的后缀全部会变成一样的,如果你放了不需要改的文件,等下你又需要改回来. 2 在文件里面建个改所有文件后缀的小脚本. 新建一个记事本: 输入:ren *.cgi(现在文件的后缀) *.jpg(想要改成什么后缀

如何在Windows7中批量修改文件和文件夹的权限

  很多人在使用 Windows 7 专业版/企业版或旗舰版的时候会发现这样一个问题:如果希望对多个文件夹或文件设置权限,在选中这些文件夹和文件之后,点击鼠标右键,选择"属性",在"属性"对话框中只有"常规"和"自定义"两个选项卡,没有在之前版本的 Windows 中常见的安全选项卡.因此无法对这些文件夹或文件批量的进行权限修改. 操作步骤: 在选择多个文件或文件夹之后,属性对话框中没有"安全"选项卡,是设

nodejs批量修改文件编码格式_node.js

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

php实现批量修改文件名称的方法_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

Linux中如何批量修改文件的扩展名

风信网(ithov.com)原创文章:在管理Linux的过程中,需要批量的对文件进行修改扩展名的操作,如果一个一个的修改,哪的确是一件非常痛苦的事,我们可以借助以下的方法以实现轻构.快速的批量修改文件扩展名. # for i in *.mp3; do mv $i `basehttp://www.aliyun.com/zixun/aggregation/11696.html">name $i .mp3`.bak ;done 将所有以.mp3结尾的文件扩展名修改为.mp3.bak结尾 在deb

客户端服务端不同步-xfire 客户端没有等待服务端返回,就向下执行,这样导致客户端获取不到返回值

问题描述 xfire 客户端没有等待服务端返回,就向下执行,这样导致客户端获取不到返回值 服务端配置: <bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler" /> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreat