中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-20 07:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求,替换ASP文件中指定字符的批处理? 查看 1,122 回复 6
楼 主 求,替换ASP文件中指定字符的批处理? 发表于 2007-04-09 12:32 ·  中国 广东 广州 白云区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
环境:windows xp 命令行提示符

要求:自动查找并替换(这里指用SB_替换)同文件夹内所有的ASP文件中指定的字符(这里指的是admin_)

或直接查找所有的ASP文件中的"admin_"字符然后把它删掉也可以.


还有个小要求,最好能给程序加上少许注释,因为现在也在学批处理,希望能帮助了解一下程序.谢谢.
2 发表于 2007-04-09 15:12 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线


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
)
)

没有测试,有问题跟贴讨论……
3 发表于 2007-04-09 21:32 ·  中国 辽宁 丹东 联通
初级用户
★★
积分 116
发帖 56
注册 2007-03-07 04:53
19年会员
UID 80966
性别 男
状态 离线
我也学习下,原来asp也可以~~
QQ=3391617
4 发表于 2007-04-10 06:04 ·  中国 广东 广州 天河区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
先谢过,今晚回去测试..
5 发表于 2007-04-10 10:03 ·  中国 广东 广州 白云区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
大侠,试过了不行. 运行后会产生几个和要修改的文件内容一样的ASP文件,但要修改的部分并没有改变
6 发表于 2007-04-10 12:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

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”等字符是不能被替换的,你再试试。
7 发表于 2007-04-11 03:11 ·  中国 广东 广州 白云区 电信
初级用户
积分 98
发帖 39
注册 2007-03-16 11:19
19年会员
UID 81943
性别 男
状态 离线
可以了..先谢过!暂时对程序休还不大了解,回去琢磨琢磨.有问题再问你了.
论坛跳转: