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

[文件操作] 显示当前文件夹下的文件,不显示扩展名

目的:显示当前文件夹下的文件,不显示扩展名 ,输出到list.txt里面!

@echo off dir /x /b >>qq.txt set replace=qq set all= for /f "delims=." %%i in (qq.txt) do ( set str=%%i set "mm=%str:%replaced%=%all%!" echo %mm%>>list.txt ) del qq.txt start "" list.txt

请问错在哪里?
请问错在哪里?

TOP

for /f "delims=" %%i in ('dir /a:-d /b') do echo %%~ni>list.txt

TOP

代码基本是对的,!不过能解释一下echo %%~ni吗?我这个我不知道怎么解释!

TOP

%~I         - 删除任何引号("),扩充 %I
%~fI        - 将 %I 扩充到一个完全合格的路径名
%~dI        - 仅将 %I 扩充到一个驱动器号
%~pI        - 仅将 %I 扩充到一个路径
%~nI        - 仅将 %I 扩充到一个文件名
%~xI        - 仅将 %I 扩充到一个文件扩展名
%~sI        - 扩充的路径只含有短名
%~aI        - 将 %I 扩充到文件的文件属性
%~tI        - 将 %I 扩充到文件的日期/时间
%~zI        - 将 %I 扩充到文件的大小
%~$PATH:I   - 查找列在路径环境变量的目录,并将 %I 扩充
              到找到的第一个完全合格的名称。如果环境变量名
              未被定义,或者没有找到文件,此组合键会扩充到
              空字符串

TOP

返回列表