几乎准备好:Batch-Script从每个子文件夹保存文件名而不扩展,并在每个子文件夹的txt中保存文件名

时间:2013-02-02 10:13:49

标签: batch-file filenames

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

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

1 个答案:

答案 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"