在我的E:\temp\download目录下有2个文件
20090429_4000_apple.THR
20090429_4000_apple.DGS
文件内均含有若干段字符串为“apple”,且含有空格(空行)
如何把他们的文件名和文件内容中的“apple”改为“orange”?
我自己对单个文件做了如下的bat文件,置于temp目录下
@ECHO off
setlocal enabledelayedexpansion
cd download
for /f "tokens=*" %%i in (20090429_4000_apple.THR) do (
set var=%%i
set "var=!var:apple=orange!"
echo !var!>>20090429_4000_orange.THR
)
if exist 20090429_4000_apple.THR del 20090429_4000_apple.THR
它能够实现替换功能,但空格(空行)没了,而且只能对特定文件操作,不具备通用性。
说明:download目录下的这两个文件是通过程序生成的,前八位与日期有关,明天它们就变为20090430_4000_apple.THR
和20090430_4000_apple.DGS,因此我写的这段代码无法实际应用

————————————————————————
自己写的bat文件在3楼,但对以下问题并不了解,请高手解答:
1、pushd %1这个语句的作用?
2、代码段有重复。倘若有N个扩展名不同的文件,如何解决?
[ Last edited by liuhuabai on 2009-4-29 at 13:00 ]
20090429_4000_apple.THR
20090429_4000_apple.DGS
文件内均含有若干段字符串为“apple”,且含有空格(空行)
如何把他们的文件名和文件内容中的“apple”改为“orange”?
我自己对单个文件做了如下的bat文件,置于temp目录下
@ECHO off
setlocal enabledelayedexpansion
cd download
for /f "tokens=*" %%i in (20090429_4000_apple.THR) do (
set var=%%i
set "var=!var:apple=orange!"
echo !var!>>20090429_4000_orange.THR
)
if exist 20090429_4000_apple.THR del 20090429_4000_apple.THR
它能够实现替换功能,但空格(空行)没了,而且只能对特定文件操作,不具备通用性。
说明:download目录下的这两个文件是通过程序生成的,前八位与日期有关,明天它们就变为20090430_4000_apple.THR
和20090430_4000_apple.DGS,因此我写的这段代码无法实际应用


————————————————————————
自己写的bat文件在3楼,但对以下问题并不了解,请高手解答:
1、pushd %1这个语句的作用?
2、代码段有重复。倘若有N个扩展名不同的文件,如何解决?
[ Last edited by liuhuabai on 2009-4-29 at 13:00 ]
