. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
kondy
 
kondy 的头像
高级会员
 
资 料:
注册日期: Nov 2002
帖子: 654 声望值: 3
精华: 0
#1 旧 2011-02-09, 17:39:40 默认 【求助】求几个批处理 文件列表的命令,当前目录下的!
kondy 当前离线  

在当前目录下生成txt文本或者指定目录的,麻烦哪位给下模版指点下,之前有一个在哪找不到了,找了些教程看的也晕! thks
aspirer
 
aspirer 的头像
支柱会员
 
资 料:
注册日期: Feb 2011
帖子: 4,947 声望值: 4
精华: 1,解答: 22
#2 旧 2011-02-09, 18:14:56 默认
aspirer 当前离线  

tree >list.txt
sungwehan
 
sungwehan 的头像
高级会员
 
资 料:
注册日期: Feb 2011
帖子: 721 声望值: 5
精华: 0,解答: 4
#3 旧 2011-02-10, 08:57:51 默认
sungwehan 当前离线  

这个批处理,可以同时生成3个目录文件。。

引用:
@rem 此BAT文件名一定不能是"tree.bat",否则tree命令会实效,不知道为什么
@rem 可能是因为系统目录有"tree.com",系统会混淆吧.
@rem 用"dir.bat"作文件名却可以.
@echo off
rem 在当前目录生成很漂亮的结构树
tree /f > 1.TXT
rem 象DIR命令一样,不过每个下级目录文件也列出
DIR /S > 2.txt
rem 简洁地列出目录当前目录文件
DIR /d > 3.txt
mouze
 
mouze 的头像
热心会员
 
资 料:
注册日期: Apr 2002
帖子: 8,205 声望值: 13
精华: 5,解答: 65
#4 旧 2011-02-10, 15:42:03 默认
mouze 当前离线  

引用:
作者: sungwehan 查看帖子
@rem 此BAT文件名一定不能是"tree.bat",否则tree命令会实效,不知道为什么
@rem 可能是因为系统目录有"tree.com",系统会混淆吧.
@rem 用"dir.bat"作文件名却可以.
在命令行窗口内 运行命令,如果不键入扩展名,是有如下的执行次序的:

首先是内部命令(如:dir、copy等),然后依次是 .com、 .exe、 .bat、 .cmd 等外部命令。

当你执行命令“tree”时,系统会先查找有没有“tree”这个内部命令,没有的话,就在当前目录内依次查找tree.com、 tree.exe、 tree.bat、 tree.cmd 这些外部命令;

如果仍然没有,则按 %path% 变量里定义的路径去依次查找。。。

用来列目录树的“tree”命令实际上是外部命令“tree.com”,并且默认放在c:\windows\system32\目录内(此目录包含在默认的%path%内,并且排第一)。

所以,楼上批处理程序如果命名为“tree.bat”,其中的“tree /f > 1.TXT”这句会调用tree.bat本身,造成死循环;

解决方法有3个:

1、命名为其它名字,比如:tree1.bat
2、把“tree /f > 1.TXT”这句改写为“tree.com /f > 1.TXT”
3、把tree.com复制到当前目录内,与tree.bat放在一起,但是这时不能运行tree,而要运行tree.bat或在资源管理器内双击tree.bat

以上任意一个方法均可。

另外,如果命名为dir.bat,那就不能运行dir,而要运行dir.bat或在资源管理器内双击dir.bat,因为如果直接运行dir,那就会执行内部命令的dir,而不是运行dir.bat了。
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 20:30:54.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号