- 締切済み
DIRで取得パス名のループ
お世話になります。 バッチファイルであるフォルダーのファイル一覧を別のフォルダに出力する作業を行っています。 下記のようにすると、ファイルがありませんとエラーになりますが、 取得するフォルダの「G%%k¥D0%%l」をたとえば、G2¥D01のようにすると、 うまくうごきます。 取得するフォルダには変数のようなものは使えないのでしょうか。 よろしくお願い致します。 for /L %%k in (2,1,7) do ( for /L %%l in (1,1,10) do ( dir folder1¥G%%k¥D0%%l¥*.txt /b > folder1¥G%%k¥D0%%l¥a.txt ) )
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>フォルダはD01~D10としていたため、D010が存在していませんでした。 なるほど。その場合は for /L %%k in (2,1,7) do ( for %%l in (01 02 03 04 05 06 07 08 09 10) do ( dir folder1¥G%%k¥D%%l¥*.txt /b > folder1¥G%%k¥D%%l¥a.txt ) ) に修正する必要がありますね。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
試した所、正常に動作しています。 まさか「¥を全角で書いていた」ってオチじゃないですよね? ちゃんと、半角の「\」で書いて下さいね(当サイトでは、半角の「\(バックスラッシュ)」に見えてしまうかも知れません)
お礼
ご回答ありがとうございます。 >まさか「¥を全角で書いていた」ってオチじゃないですよね? そこは大丈夫でした。 chie65535様のご回答をみて、文字を確認したり、数字を変えて試しましたところ、 まわりました。 結局、原因は、「D0%%l」でした。 フォルダはD01~D10としていたため、D010が存在していませんでした。 申し訳ありません お手数をお掛けいたしました。
補足
内容に間違いがりました。 ×ファイルがありません 〇指定されたパスがありません 大変申し訳ありません。
お礼
ずいぶんログインしていなかったので、気が付かずみません。 そのようなやり方があったんですね。 勉強になりました。 ありがとうございまいた。