Board logo

标题: 如何用变量替换文件中的指定字符串 [打印本页]

作者: fatbig     时间: 2008-9-22 16:39    标题: 如何用变量替换文件中的指定字符串
作了一个替换程序,把全路径换成当前路径

程序如下:

@echo off & SetLocal EnableDelayedExpansion

dir /s /b *.sql > all_sql.conf
set cdir=%cd%
for /f "tokens=1* delims=:" %%a in ('findstr /n .* all_sql.conf') do (
set string=%%b
echo\"!string!"|findstr /c:%%cdir%% >nul && (
set string=!string:"%cdir%"=.!
echo\!string!
) || (echo\!string!)
)
echo %cdir%

可惜死活不转。

请高手指点一二!!

作者: HAT     时间: 2008-9-22 20:40
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s /b *.sql') do (
set str=%%a
set str=!str:%cd%=.!
echo !str!
)

作者: fatbig     时间: 2008-9-24 13:07    标题: 多谢回复
不过在本机不能运行,不知道怎么回事。

我这里根目录里带有空格,所以一直无法对应。

作者: HAT     时间: 2008-9-24 13:27
代码保存为test.bat,双击运行,把完整结果贴出来看看。

setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s /b *.sql') do (
set str=%%a
set str=!str:%cd%=.!
echo !str!
)
pause