Board logo

标题: 求一个自动修改TXT文件内容的批处理文件 [打印本页]

作者: pzppzp     时间: 2007-11-3 13:04    标题: 求一个自动修改TXT文件内容的批处理文件

求一个批处理文件,功能:
在C盘根目录下有一个 111.txt 的文本文件,批处理文件在其它目录,运行这个批处理文件,就自动把批处理所在路径(字符)替换 C:\111.txt 里的 B:\\外置程序\\PE_DX_WMP\\WMP10\\SYSTEM32\\ 这个字符(全部替换),比如原来 111.txt 的内容如下:
[HKEY_CLASSES_ROOT\Applications\wmplayer.exe\shell\play\command]
@="B:\\外置程序\\PE_DX_WMP\\WMP10\\SYSTEM32\\wmplayer.exe /Play \"%L\""

[HKEY_CLASSES_ROOT\CLSID\{03be3ac4-84b7-4e0e-a78d-d3524e60395a}\InprocServer32]
@="B:\\外置程序\\PE_DX_WMP\\WMP10\\SYSTEM32\\wmvadvd.dll"


并且批处理文件在 D:\DFR\ 下,则运行后, 111.txt 的内容如下:
[HKEY_CLASSES_ROOT\Applications\wmplayer.exe\shell\play\command]
@="D:\\DFR\\wmplayer.exe /Play \"%L\""

[HKEY_CLASSES_ROOT\CLSID\{03be3ac4-84b7-4e0e-a78d-d3524e60395a}\InprocServer32]
@="D:\\DFR\\wmvadvd.dll"


还有一点,批处理文件是在光盘上,所以这个目录不能产生临时文件

求高手帮忙

[ Last edited by pzppzp on 2007-11-3 at 07:05 PM ]
作者: abcd     时间: 2007-11-3 13:22

@echo off
for /f "tokens=*" %%i in (c:\111.txt) do (
   set "str=%%i"
   call echo %%str:gggg=%cd%\%%>>c:\111_tmp.txt
)
del /q c:\111.txt
ren c:\111_tmp.txt 111.txt

作者: pzppzp     时间: 2007-11-3 14:08
楼上同志:谢谢你了
其它都对,不过路径的 \ 要改成 \\ ,要怎么改?

[ Last edited by pzppzp on 2007-11-3 at 07:18 PM ]
作者: pzppzp     时间: 2007-11-3 19:23
拜托了,就差这一点了
作者: abcd     时间: 2007-11-3 20:19

@echo off
for /f "tokens=*" %%i in (c:\111.txt) do (
   set "str=%%i"
   call echo %%str:B:\\外置程序\\PE_DX_WMP\\WMP10\\SYSTEM32\\=%cd:\=\\%\\%%>>c:\111_tmp.txt
)
del /q c:\111.txt
ren c:\111_tmp.txt 111.txt
pause

作者: pzppzp     时间: 2007-11-3 20:27
可以了,再次感谢!