質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

1回答

2746閲覧

ファイル名を指定してmoveしても「ファイル名が見つかりません」となるファイルがある

ya0501

総合スコア27

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2019/01/08 10:09

ファイル名の先頭にディレクトリ名を付けリネームするスクリプトを作成しました。
ですが一部「指定したファイルが見つかりません」とエラーになり処理されないファイルがあります。
可能であればその一部の処理できないファイルにも対応させたいのでお知恵をお貸しください。
スクリプト内容は以下です。

bat

1SETLOCAL enabledelayedexpansion 2 for /d %%i in C:\Users\Desktop\Test*) do ( 3 cd %%i 4 for /r . %%j in (*) do ( 5dir /s /b > C:\Users\Desktop\Test\file01.tmp 6 7for /f "delims=" %%F in (C:\Users\Desktop\Test\file01.tmp) do ( 8 9for /f "delims=\ tokens=4" %%D in ("%%F") do ( 10 11move /y "%%F" "C:\Users\Desktop\Test2\%%D_%%~nF%%~xF" 12 )) 13 del C:\Users\Desktop\Test\file01.tmp 14 )) 15

上記コードで例としてA,B,Cフォルダ配下にそれぞれ1234.txtというファイルがあるとすると
[A_1234.txt」
[B_1234.txt]
[C_1234.txt]
という名前にリネームされTest2のフォルダに移動されます。
通常はうまくいくのですが、
[クリーニンク゛.txt]のように左記の全角の濁点や半濁点の付いたファイルは
「指定されたファイルが見つかりません。」となり処理されません。
[A_クリーニンク゛.txt]のように処理をさせたいです。

対処について教えて頂ければ幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いろいろおかしなところがあるスクリプトなので、シンプルに下記にして、実行してみてください。

CMD

1for /d %%D in C:\Users\Desktop\Test*) do ( 2 cd %%D 3 for /f "delims=" %%F in ('dir /s /b') do ( 4 move /y "%%F" "C:\Users\Desktop\Test2\%%~nxD_%%~nxF" 5 ) 6)

投稿2019/01/08 12:38

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問