本帖最后由 yuanyannian 于 2014-7-24 21:06 编辑
我碰到了难题:有一个文本,比如 H:\aaa\aaa.txt,内容如下:- RegLoad,SYS,"%x_y%\system"
- zzzzzzzzzzzzzzz
- zzzzzzzzzzzzzzz
- zzzzzzzzzzzzzzz
- zzzzzzzzzzzzzzz
- UnLoad,SYS
复制代码 我的批处理为 D:\bbb\bbb.bat,我要将 aaa.txt 中的 %x_y% 替换为 H:\aaa,该如何写批处理。
我用下面的语句,只能处理批处理所在目录下的文本。- @echo off
- Setlocal Enabledelayedexpansion
-
- Set OName=H:\aaa\aaa.txt
- Set HPath=H:\aaa
-
- For /F "tokens=*" %%i In ('dir/b %OName%') Do ((For /F "tokens=1* delims=:" %%j In ('Findstr /n .* "%%i"') Do (
- Set SS=%%k
- If "!SS!"=="" (Echo.) Else Set SS=!SS:%%x_y%%=%HPath%!&Echo !SS!))>SS.txt
- Move /y SS.txt "%%i")
-
- pause
复制代码 另外,有没有更精简的写法? |