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