C:\B\の中に、必ず「半角数字4桁_」から始まるファイル名のデータが毎週入ります。
「半角数字4桁_」以後のファイル名、拡張子は、その週によって変わります。
C:\A\の中には、必ず「_半角数字4桁_」で終わるフォルダ名のサブフォルダがあります。
このフォルダ名は、ずっと変わることがありません。
C:\B\の中にあるデータを、ファイル名の最初の4桁の数字をもとに、C:\A\にあるサブフォルダに自動で移動したいです。また、移動する際に、既にサブフォルダ内に「半角数字4桁_」から始まるファイル名のデータがある場合は、削除してから移動したいです。
フォルダ構成です。
Cー|
|-【A】
| |-【あいう_1234】
| |-【あい_2235】
| |-【かきくけ_8990】
| |-【アイウエオ_5014】
|
|-【B】
| |-1234_ABC.txt ←このファイルは C:\A\【あいう_1234】に。
| |-2235_1534.txt ←このファイルは C:\A\【あい_2235】に。
| |-8990_22.doc ←このファイルは C:\A\【かきくけ_8990】に。
| |-5014_わをん.doc ←このファイルは C:\A\【アイウエオ_5014】に。
自分でバッチファイルを記述してみたのですが、ここからどうしていいか分かりません。
どなたか教えてもらえないでしょうか? よろしくお願いします。
自分で記述してみたバッチファイルです。
cd C:\B
dir /b > C:\C\list.txt
set folder=C:\A
set file=C:\B
set Bat=C:\C
for /f "delims=" %%a in ( %Bat%\list.txt ) do if exist "%file%\%%a" move "%folder%\%%a"
"%to%"
PAUSE > NUL
No.1
- 回答日時:
フォルダ A の中のサブフォルダの名前が
「_半角数字4桁_」
で終わっていないように見えるのは気のせいだろうか.
さておき, for で delim を適当に設定して (+ さらに必要であればオプションを追加して) 頑張るのが簡単だと思う.
早速の回答をありがとうございます。
ご指摘のように、Aフォルダの中のサブフォルダの名前が間違っておりました。正しくは「_半角数字4桁」で終わるフォルダ名です。
バッチファイルは見よう見まねで作成しており、どのようにして頑張ればいいのかがわかりません。恐縮ですが、もう少し詳しく教えていただけないでしょうか?
No.2ベストアンサー
- 回答日時:
Bの中にそれ以外のファイルがないとすると、
cd /d C:\B
for %%A in (*) do call :sub "%%~A"
goto :EOF
:sub
set A=%~1
set B=%A:~0,4%
for /d %%D in (C:\A\*_%B%) do (
del /q "%%D"
move %1 "%%D"
)
>また、移動する際に、既にサブフォルダ内に「半角数字4桁_」から始まるファイル名のデータがある場合は、削除してから移動したいです。
の部分がよくわからなかったので、1ファイル移動する毎にフォルダを空にするようにしています。
この回答への補足
回答、ありがとうございます。
>また、移動する際に、既にサブフォルダ内に「半角数字4桁_」から始まるファイル名のデータがある場合は、削除してから移動したいです。
意味が通じる文章でなくて、すみません。
Bフォルダの中に毎週データが入ってくるので、BフォルダからAフォルダのそれぞれのサブフォルダにデータを移動するときは、既に「半角数字4桁_」から始まるファイル名のデータがあるのです。
今までは手動で移動させていたので、新たなファイルをAフォルダのサブフォルダに入れるときは、まず「半角数字4桁_」のデータを消してから、新たなデータを入れています。
Aフォルダのサブフォルダには、「半角数字4桁_」から始まるデータ以外にもデータが入っています。ただし、「半角数字4桁_」から始まる名前のデータは、常に1つだけにしておきたいのです。
よろしければ、それもご教示いただけないでしょうか?
教えていただいたものでやってみると、うまくいきました。
また、補足コメントで教えていただきたいと書いたことは自己解決できました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトで変数が数...
-
コマンドプロンプトでファイル...
-
バッチコマンドでファイル名の...
-
バッチファイルで、iniファイル...
-
[DOS] コピー先に同じファイル...
-
■ファイルのリネーム(rename)...
-
word VBA ファイル名 保存
-
ftp処理でmove(移動)を行いたい
-
【Access】エクスポート時のフ...
-
フォルダ内の更新日時が一番新...
-
access,vbaでフォルダ内のファ...
-
ファイル名を変更して移動させ...
-
VB6.0 Dir関数について
-
画像フォルダをまとめるバッチ...
-
ExcelVBAのDirでスペース含むフ...
-
エクセル VBA ファイル名削除
-
aタグのhrefにネットワークパス...
-
Windowsコマンドプロンプトで、...
-
.batでファイル名から抽出して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
バッチコマンドでファイル名の...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
フォルダ内の更新日時が一番新...
-
ftp処理でmove(移動)を行いたい
-
ExcelVBAのDirでスペース含むフ...
-
.batでファイル名から抽出して...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
Windowsコマンドプロンプトで、...
-
【DOSバッチ開発】末尾のタブの...
-
word VBA ファイル名 保存
-
【vbs】ファイル名の検索と該当...
-
コマンドプロンプトまたはpower...
-
ファイル名を該当フォルダ内か...
-
バッチ処理で16進数でファイル...
-
スタートアップのファイルをバ...
おすすめ情報