@echo off
chcp 1252
for /r %%a in (*) do echo %%~na >> D:\filenames.txt
echo. >> D:\filenames.txt
此脚本将所有子文件夹的所有文件名保存在d:\filenames.txt
中的一个txt中。我需要的:脚本需要读出子文件夹的文件名并在此子文件夹中保存txt。这适用于每个子文件夹。
答案 0 :(得分:0)
@echo off
chcp 1252
for /r /d %%D in (.) do (
pushd "%%D"
(for %%F in (*) do echo %%~nF) >filenames.txt
echo(>>filenames.txt
popd
)
注意:您使用%%~n
会从列表中删除文件扩展名。我怀疑你想修剪驱动器和路径信息,但包括文件名和扩展名。在原始代码中,您需要使用%%~nxa
。在此解决方案中,您只需使用%%F
,因为该值不包含路径信息。但是有一种更简单的方法:
要同时包含名称和扩展名,我会使用以下内容:
@echo off
chcp 1252
for /r /d %%D in (.) do (dir /b /a-d "%%D"&echo() >"%%D\filenames.txt"