[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何只列出一个文件夹里所有文件的文件名

标题说的不是很清楚,就是我想写一个bat文件,任意拖放一个或多个文件或文件夹到这个bat文件上时,就只显示文件夹里所有文件的文件名(不包括路径和扩展名)。

为什么echo %~n1 只能显示文件夹的名字,但是少了文件夹里文件的名字

for /f "usebackq delims=" %%a in (`dir /b %1`) do echo %%a
上面这个代码没有把扩展名去掉。

看了FOR命令的说明,有一个变量%~n1,就只显示文件名来着的,应该怎么用啊?

我是菜鸟,大家莫笑啊。

先谢谢大家了。

[ 本帖最后由 junyi_de 于 2009-2-25 17:55 编辑 ]

  1. @echo off
  2. set n=
  3. set/p n=请输入文件夹名:
  4. for /f "delims=" %%i in ('dir /b "%n%"') do (echo %%~ni)
  5. pause
复制代码

拖入文件夹速度很慢,直接输入文件夹名比较快!
我用41字节的文件夹拖入,要1分钟,不知道是怎么回事?
哪位高人看到解答下!

[ 本帖最后由 zjw767676 于 2009-2-25 20:59 编辑 ]

TOP

返回列表