::将指定目录下所有文件的文件名输出到指定文本文件中
::使用变量延迟扩展语句,变量引用 %var% 要改为 !var!,
这样一条完整的指令便不再预编译替换引用变量的值,而是实时获取了
::默认delims=空格,以空格切分,指定为空可以获取到完整的包含空格的字符串
::dir参数,/a属性,-d非目录,/s指定目录及子目录,/b不显示标题信息和摘要 /o排序 n按名称字母排序
方法一:
@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /a-d /s /b /on *.*') do (
set file=%%~fi
set file=!file:/=/!
echo !file! >>outputfile.txt
)
方法二:
@echo off & setlocal EnableDelayedExpansion
set prefixPath=D:\test\
set destPath=des_res
set "mypath=%prefixPath%%destPath%"
for /r %mypath% %%i in (*.*) do (
set str=%%i
echo !str:%prefixPath%=!>>%destPath%.txt
)