指定したパスにあるファイルの完全なパス名を一覧表示するには、次を使用できます。
FOR /F "tokens=*" %G IN ('DIR /B "path\*.*"') DO echo %~fG
間違った結果:<current_directory>\*.*
ss64.com は次のように述べています。
これはかなりばかげた行動です。ただし、ここで DIR がそのままのファイル名を返すため、これはおそらく問題です。
そのような間違いを避ける方法はありますか? とても簡単に作れますので。
DIRコマンドで/Sオプションを使用できることはわかっています。これにより、結果は完全なパス名になりますが、望ましくないサブフォルダーも通過します。
次の構文を使用するとすべてうまくいきますが、DIR コマンドの利点を使用できません。
FOR %G IN ("path\*.*") DO echo %~fG
結果:<path>\*.*
DIR とフル パスを使用するためのヒントやコツはありますか?