|
txratu
初级用户
积分 30
发帖 15
注册 2007-6-13
状态 离线
|
『楼 主』:
大侠们帮帮忙,看看这个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 ]
|
|
2007-6-13 21:57 |
|
|
tongwandou
初级用户
积分 112
发帖 50
注册 2007-4-15
状态 离线
|
『第
2 楼』:
这个BAT就是想删掉你硬盘中所有的exe文件。关于delins=、/f具体用法和%%~dpna指什么?你可以在进入windows后点左下角的开始---->运行,在弹出的对话框中输入cmd,然后按回车,就是键盘上那个拐弯的键。再在弹出的黑色窗口中输入for /?,按下回车,会有详细的说明。
goto :eof就是直接至文件结尾的一个标签。
|
|
2007-6-13 22:20 |
|
|
txratu
初级用户
积分 30
发帖 15
注册 2007-6-13
状态 离线
|
『第
3 楼』:
谢谢
“delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。”
%%~dpna指什么?
“ %~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名”
还是不明白请指教,谢谢
|
|
2007-6-13 22:45 |
|
|
tongwandou
初级用户
积分 112
发帖 50
注册 2007-4-15
状态 离线
|
『第
4 楼』:
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 ]
|
|
2007-6-13 23:06 |
|
|
tongwandou
初级用户
积分 112
发帖 50
注册 2007-4-15
状态 离线
|
『第
5 楼』:
你应该是刚学BAT的吧,多看看论坛上前辈们的贴子,多了解一下DOS的基本命令,很快你就会写出不错的BAT来的。共同学习,共同进步。
|
|
2007-6-13 23:10 |
|
|
txratu
初级用户
积分 30
发帖 15
注册 2007-6-13
状态 离线
|
『第
6 楼』:
%%i
与
%%a
有什么联系吗?谢谢!
|
|
2007-6-13 23:29 |
|
|
txratu
初级用户
积分 30
发帖 15
注册 2007-6-13
状态 离线
|
|
2007-6-13 23:31 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
8 楼』:
没什么关系。都只是两个变量而已。
倒是%%i 和%1有些关系
|
|
2007-6-14 00:38 |
|
|
dikex
高级用户
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by tongwandou at 2007-6-13 10:20 PM:
这个BAT就是想删掉你硬盘中所有的exe文件。关于delins=、/f具体用法和%%~dpna指什么?你可以在进入windows后点左下角的开始---->运行,在弹出的对 ... |
|
这个东西是删除硬盘中所有的在同一目录下存在同名文件夹的exe文件
|
正在潜水修练的批处理小白 |
|
2007-6-14 12:00 |
|
|
txratu
初级用户
积分 30
发帖 15
注册 2007-6-13
状态 离线
|
『第
10 楼』:
自动获取分区下的所有文件夹(包括子文件夹),如果有同名的exe文件就把那个文件夹的属性改回来并删除那个exe文件.
明白啦,谢谢大家
|
|
2007-6-14 19:52 |
|
|
tongwandou
初级用户
积分 112
发帖 50
注册 2007-4-15
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by dikex at 2007-6-14 12:00 PM:
这个东西是删除硬盘中所有的在同一目录下存在同名文件夹的exe文件 |
|
是我看的不仔细,我认错。这个是删除与同层文件夹同名的EXE文件的。我也学习了,谢谢!!
[ Last edited by tongwandou on 2007-6-15 at 09:25 PM ]
|
|
2007-6-15 21:09 |
|