@echo off
chcp 1252
for /r %%a in (*) do echo %%~na >> D:\filenames.txt
echo. >> D:\filenames.txt
此脚本将所有子文件夹的所有文件名保存在 .txt 中的一个 txt 中d:\filenames.txt
。我需要什么:脚本需要读出子文件夹的文件名并在该子文件夹中保存一个 txt。这适用于每个子文件夹。
@echo off
chcp 1252
for /r %%a in (*) do echo %%~na >> D:\filenames.txt
echo. >> D:\filenames.txt
此脚本将所有子文件夹的所有文件名保存在 .txt 中的一个 txt 中d:\filenames.txt
。我需要什么:脚本需要读出子文件夹的文件名并在该子文件夹中保存一个 txt。这适用于每个子文件夹。
@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"