![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 00:08 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 大侠们帮帮忙,看看这个bat文件是作什么[已解决] |
| 可打印版本 963 / 10 |
| 第1楼 txratu | 发表于 2007-06-13 21:57 |
| 初级用户 发帖 15 积分 30 | |
|
大侠们帮帮忙,看看这个bat文件是作什么[已解决] @echo off
for %%i in (c d e f g h i j k l m n o p q r s t u v w z y z) do call :DF %%i goto :EOF :DF for /f "delims=" %%a in ('dir %1:\ /b /ad /s') do ( attrib "%%~dpna" -s -h del "%%~dpna.exe" /f /q /a 1>nul 2>nul ) goto :EOF 1、for中的"delims=" 表示什么? 2、/f具体用法? 3、"%%~dpna"、EOF分别指什么? 4、帮解释2个for语句的具体含义? 谢谢! [ Last edited by txratu on 2007-6-14 at 07:53 PM ] |
|
| 第2楼 tongwandou | 发表于 2007-06-13 22:20 |
| 初级用户 发帖 50 积分 112 | |
|
这个BAT就是想删掉你硬盘中所有的exe文件。关于delins=、/f具体用法和%%~dpna指什么?你可以在进入windows后点左下角的开始---->运行,在弹出的对话框中输入cmd,然后按回车,就是键盘上那个拐弯的键。再在弹出的黑色窗口中输入for /?,按下回车,会有详细的说明。
goto :eof就是直接至文件结尾的一个标签。 |
|
| 第3楼 txratu | 发表于 2007-06-13 22:45 |
| 初级用户 发帖 15 积分 30 | |
|
谢谢
“delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。” %%~dpna指什么? “ %~dI - 仅将 %I 扩充到一个驱动器号 %~pI - 仅将 %I 扩充到一个路径 %~nI - 仅将 %I 扩充到一个文件名” 还是不明白请指教,谢谢 |
|
| 第4楼 tongwandou | 发表于 2007-06-13 23:06 |
| 初级用户 发帖 50 积分 112 | |
|
delims=xxx的意思就是以xxx为分隔符,把一行字符分开。具体到这个BAT中,因为他写的是“delims=”,就是把dir命令产生的输出当做一个整体。如果写成“delims=/”,就是在有“/”的地方,把dir命令产生的输出拆开。
%%~dpna,的意思是返回%%a的驱动器号+完整路径+文件名。如c:\windows\system32\sol.exe,这种形式。 [ Last edited by tongwandou on 2007-6-13 at 11:07 PM ] |
|
| 第5楼 tongwandou | 发表于 2007-06-13 23:10 |
| 初级用户 发帖 50 积分 112 | |
|
你应该是刚学BAT的吧,多看看论坛上前辈们的贴子,多了解一下DOS的基本命令,很快你就会写出不错的BAT来的。共同学习,共同进步。
|
|
| 第6楼 txratu | 发表于 2007-06-13 23:29 |
| 初级用户 发帖 15 积分 30 | |
|
%%i
与 %%a 有什么联系吗?谢谢! |
|
| 第7楼 txratu | 发表于 2007-06-13 23:31 |
| 初级用户 发帖 15 积分 30 | |
|
新手,谢谢
|
|
| 第8楼 wudixin96 | 发表于 2007-06-14 00:38 |
| 银牌会员 发帖 931 积分 1,928 | |
|
没什么关系。都只是两个变量而已。
倒是%%i 和%1有些关系 |
|
| 第9楼 dikex | 发表于 2007-06-14 12:00 |
| 高级用户 发帖 366 积分 788 | |
Originally posted by tongwandou at 2007-6-13 10:20 PM: 这个东西是删除硬盘中所有的在同一目录下存在同名文件夹的exe文件 |
|
| 第10楼 txratu | 发表于 2007-06-14 19:52 |
| 初级用户 发帖 15 积分 30 | |
|
自动获取分区下的所有文件夹(包括子文件夹),如果有同名的exe文件就把那个文件夹的属性改回来并删除那个exe文件.
明白啦,谢谢大家 |
|
| 第11楼 tongwandou | 发表于 2007-06-15 21:09 |
| 初级用户 发帖 50 积分 112 | |
Originally posted by dikex at 2007-6-14 12:00 PM: 是我看的不仔细,我认错。这个是删除与同层文件夹同名的EXE文件的。我也学习了,谢谢!! [ Last edited by tongwandou on 2007-6-15 at 09:25 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |