标题: 求,替换ASP文件中指定字符的批处理?
[打印本页]
作者: vcstone
时间: 2007-4-9 12:32
标题: 求,替换ASP文件中指定字符的批处理?
环境:windows xp 命令行提示符
要求:自动查找并替换(这里指用SB_替换)同文件夹内所有的ASP文件中指定的字符(这里指的是admin_)
或直接查找所有的ASP文件中的"admin_"字符然后把它删掉也可以.
还有个小要求,最好能给程序加上少许注释,因为现在也在学批处理,希望能帮助了解一下程序.谢谢.
作者: lxmxn
时间: 2007-4-9 15:12
rem 启动变量延迟;
@echo off&setlocal enabledelayedexpansion
rem 遍历asp文件并替换;
for /f "delims=" %%a in ('dir /b/a-d .\*.asp') do (
for /f "tokens=1* delims=:" %%b in ('findstr /n .* "%%a"') do (
set "o=%%c"
set "o=!o:SB=admin!"
echo/!o!>>%%~na_%%~xa
)
)
没有测试,有问题跟贴讨论……
作者: 3391617
时间: 2007-4-9 21:32
我也学习下,原来asp也可以~~
作者: vcstone
时间: 2007-4-10 06:04
先谢过,今晚回去测试..
作者: vcstone
时间: 2007-4-10 10:03
大侠,试过了不行. 运行后会产生几个和要修改的文件内容一样的ASP文件,但要修改的部分并没有改变
作者: lxmxn
时间: 2007-4-10 12:51
Re vcstone:
我测试了一下,上面那个批处理是可以的,不过我又改进了一下,会删除空行,见下面的代码:
::启动变量延迟;
@echo off&setlocal enabledelayedexpansion
::遍历asp文件并替换;
for /f "delims=" %%a in ('dir /b/a-d .\*.asp') do (
for /f "tokens=1* delims=:" %%b in ('findstr /n .* "%%a"') do (
if not "%%c"=="" (set "o=%%c"
set "o=!o:SB=admin!"
echo/!o!>>%%~na_%%~xa)
)
)
注意,只能替换里面的“SB”字符,而“sb”、“Sb”或者“sB”等字符是不能被替换的,你再试试。
作者: vcstone
时间: 2007-4-11 03:11
可以了..先谢过!暂时对程序休还不大了解,回去琢磨琢磨.有问题再问你了.