0
@echo off
chcp 1252
for /r %%a in (*) do echo %%~na >> D:\filenames.txt
echo. >> D:\filenames.txt

此脚本将所有子文件夹的所有文件名保存在 .txt 中的一个 txt 中d:\filenames.txt。我需要什么:脚本需要读出子文件夹的文件名并在该子文件夹中保存一个 txt。这适用于每个子文件夹。

4

1 回答 1

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"
于 2013-02-02T15:13:00.483 回答