标题: dir /s /w > mp3.doc 能否让每行只有一个文件名[已结]
[打印本页]
作者: htysm
时间: 2007-1-19 23:45
标题: dir /s /w > mp3.doc 能否让每行只有一个文件名[已结]
硬盘里有大量的MP3文件,而且都归类了,如SHE唱的歌放SHE的目录下,现想将这个MP3目录内所有文件(包含子目录内的文件)全部打到一个WORD文档,但用命令:dir /s /w /a *.mp3 > mp3list.doc 时发现文档里有的一行有多个文件名,有的一行只有一个文件名,如果某个目录下有一个比较长的文件名,则这个目录内的每个文件名只占一行,如果某个目录下的所有文件名都比较短,则这个目录内的文件打到WORD文档时一行将占用几个文件名。
想请教高手用什么命令或其它什么方法让打到文档里的每个文件名只占用一行。而不是一行里有多个文件名。
[
Last edited by htysm on 2007-1-22 at 12:47 AM ]
作者: redtek
时间: 2007-1-20 00:15
将 “dir /s /w > mp3.doc ” 改为:
dir /s > mp3.doc 就可以了:)
Dir 的 /w 参数是宽列显示(即一行显示多个文件列表),目的是为了让命令操作人员达到 “一目了然” 的境界~:)
(如果文件不多,但又想通过 Dir 命令尽可能的在一屏多显示一些文件列表,则 /w 正合适)
(如果希望列出的文件列表定向到一个文件,又想对这个列表文件进行某种无论是编程还是编辑等操作,则 /w 参数会造成一定的处理难度)
作者: GOTOmsdos
时间: 2007-1-20 00:54
如下即可:
dir /s /b *.mp3>mp3.doc
作者: htysm
时间: 2007-1-20 01:14
忘了说了,我不希望在文件名中包含路径,用楼上的:dir /s /b *.mp3 >mp3.doc 均会在文档里有路径。
打到文档里我希望只有文件名和扩展名,并且每行只占用一个文件名。
谢谢楼上两位。
作者: GOTOmsdos
时间: 2007-1-20 01:23
如下即可:
for /r %a in (*.mp3) do @if exist %a echo %~nxa>>mp3.doc
[
Last edited by GOTOmsdos on 2007-1-20 at 01:24 AM ]
作者: htysm
时间: 2007-1-20 04:06
感谢楼上的高手,用你的命令总算搞定,还想问一下“牛人”这个“%~nxa"是什么意思?能解释一下吗?
作者: jtyuer
时间: 2007-1-20 11:52
%~nxa 只取%a变量的文件名和扩展名
作者: htysm
时间: 2007-1-20 22:36
总算明白了,谢谢。n是代表文件名的意思吧,那x就是扩展名的意思了。那如果我不想要扩展名,岂不是就是:%~na,对不对呀。
[
Last edited by htysm on 2007-1-20 at 10:50 PM ]
作者: lxmxn
时间: 2007-1-20 22:39
对的。for命令的帮助后面有。
作者: DOSforever
时间: 2007-1-21 08:43
既然『楼 主』会重定向何必上传图片呢?太浪费论坛空间了