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

このスクリプトは、すべてのサブフォルダーのすべてのファイル名を .txt にある 1 つの 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 に答える