无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9635|回复: 15
打印 上一主题 下一主题

如何用FOR命令对一个目录下的所有文件执行多个命令?

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-12 18:15:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
比如我对一个目录下的每一个文件执行以下操作

1、显示文件名
2、删除该文件
3、对下一个文件执行第1、2步的操作

[ 本帖最后由 阿尔法孝直 于 2006-8-12 06:17 PM 编辑 ]
16#
发表于 2006-8-17 13:18:12 | 只看该作者
98的系统太古老了,我已经N年没用它了。以前用它的时候,还不会批处理;现在会批处理了,却没机会用到它了:(
回复

使用道具 举报

15#
 楼主| 发表于 2006-8-15 11:22:51 | 只看该作者
要求在9X下。
回复

使用道具 举报

14#
发表于 2006-8-14 18:59:42 | 只看该作者
谢谢楼上的朋友!
回复

使用道具 举报

13#
发表于 2006-8-14 18:28:57 | 只看该作者
Re 安情:

  这段代码要保存成批处理文件来执行才会有效的,如果在命令行里执行for语句,变量的百分号只能保留一个,而批处理中要两个。

  如果在删除文件的时候需要手工确认,在del后面加参数 /p 就可以了。以下代码请保存在批处理文件中之后再执行批处理文件,而不应该在命令行里运行。
@echo off
for /r %%i in (*.*) do (echo %%~nxi && del /p %%~nxi)
pause
回复

使用道具 举报

12#
发表于 2006-8-14 18:17:49 | 只看该作者
@echo off
for /r %%i in (*.*) do (echo %%~nxi && del %%~nxi)
pause
我在xp下做了试验,实现不了.
我去掉一个%就行了.一个%和两个%,有什么区别呀?
for /r %i in (*.*) do echo %~nxi
我这样输入的,结果显示所有的文件,我都没有看清是什么?
我也是希望显示一个,停一上.然后询问是否删除.然后再继续显示,如果是这样,应该怎么写批处理?
回复

使用道具 举报

11#
发表于 2006-8-14 17:13:12 | 只看该作者
re 阿尔法孝直:

  请把你的系统版本和要实现的功能说详细点,像这样挤牙膏式的提问很难完美地解决问题的。
回复

使用道具 举报

10#
 楼主| 发表于 2006-8-14 17:08:29 | 只看该作者
谁知道??
回复

使用道具 举报

9#
 楼主| 发表于 2006-8-14 14:20:35 | 只看该作者
但这样的话就会列出所有文件完再删掉所有文件呀。
我要求显示一个文件,删一个文件;再显示下一个文件,再删文件……这样重复,直到最后一个文件显示并删除。

[ 本帖最后由 阿尔法孝直 于 2006-8-14 02:35 PM 编辑 ]
回复

使用道具 举报

8#
发表于 2006-8-14 13:55:24 | 只看该作者
9X下把楼上那句for拆为2句,去掉NT的增强参数也可以
回复

使用道具 举报

7#
 楼主| 发表于 2006-8-14 13:15:49 | 只看该作者
若是在9X下呢?
回复

使用道具 举报

6#
发表于 2006-8-14 10:21:35 | 只看该作者
回复

使用道具 举报

5#
发表于 2006-8-14 10:06:42 | 只看该作者
谢谢你,学习了.
中国DOS联盟论坛,它的网址是?
回复

使用道具 举报

4#
发表于 2006-8-13 22:54:28 | 只看该作者
在for语句中,for /r 是遍历目录的意思,在每个目录执行相同的动作;至于%%i in,这个是for语句的固定格式:for /开关 变量 in (设置) do (动作);在for语句中,%%~nxi意思是取文件的文件名和扩展名.更多信息,请在CMD下用for /?来查询.如果想要提高批处理水平,中国DOS联盟论坛是个好地方.
回复

使用道具 举报

3#
发表于 2006-8-13 19:00:17 | 只看该作者
原帖由 namejm 于 2006-8-13 06:33 PM 发表
@echo off
for /r %%i in (*.*) do (echo %%~nxi && del %%~nxi)
pause



不太明白.能加以注解吗?
for /r  ?


%%i in    ?


%%~nxi &&      ?
回复

使用道具 举报

2#
发表于 2006-8-13 18:33:17 | 只看该作者
@echo off
for /r %%i in (*.*) do (echo %%~nxi && del %%~nxi)
pause
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 10:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表