bat 查找修改文本文件中的文字

[复制链接]
查看11 | 回复3 | 2010-11-16 11:49:17 | 显示全部楼层 |阅读模式
我需要将文件1.vcproj中的
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
修改为
Name="Debug|Win32"
OutputDirectory="../../debug"

Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
修改为
Name="Release|Win32"
OutputDirectory="../../release"
用一个bat文件完成,该如何处理,因为有很多工程要改,所以考虑批处理。
前几天有点忙,没时间看,今天把三个都测试了一下,都不行,没有作用。
希望你们先测试一下,你们可以自己用vs2008建一个工程,我需要这个批处理程序的作用就是可以将新工程的debug目录和release目录都定义到一个地方去,方便项目管理。

回复

使用道具 举报

千问 | 2010-11-16 11:49:17 | 显示全部楼层
用批处理完成比较麻烦,还是用vbs吧,用法与批处理类似:将下面的代码复制保存为扩展名是vbs的文件,放到与1.vcproj同目录里面双击运行即可,效率很高。'══代══码══开══始════set fso=CreateObject("Scripting.FileSystemObject")set ws=CreateObject("wscript.shell")set fr=fso.opentextfile("1.vcproj",1)set fw=fso.createtextfile("temp.tmp",2)dodata=fr.readlineif left(data,5)="Name=" thenk=instr
回复

使用道具 举报

千问 | 2010-11-16 11:49:17 | 显示全部楼层
呵呵,用批处理是很麻烦,试一下@echo off&color f1setlocal EnableDelayedExpansionset ff=1.vcprojset sm=OutputDirectory="../../debug"set sn=OutputDirectory="../../release"set sf=Output
回复

使用道具 举报

千问 | 2010-11-16 11:49:17 | 显示全部楼层
@echo offSetLocal EnableDelayedExpansionFor /f "tokens=1,2 delims==" %%i in (a.txt) do (
If %%i==OutputDirectory (
If %%j=="$(SolutionDir)$(ConfigurationName)"(
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行