ファイルの振り分けを手動でしているのですが、
手動は大変なのでバッチファイルで自動的に振り分けられるようにしたいです。
C:\振り分け というフォルダがあり、そこにあらかじめ、
【○○】 [△△] □□.txt
といった形式にファイル名をリネームしたファイルを移動しておきます。
過去に整理したファイル達がそれぞれA、B、Cフォルダに入っているとします。
振り分けフォルダのファイル名の先頭から "△△]" の部分まで取得した後、
A、B、Cフォルダの中身をそれぞれ検索して、検索条件に一致したファイルがあったのと
同じフォルダにファイルを自動的に振り分けられるようにしたいです。
また、検索してファイルが見つからなければ振り分けないようにしたいです。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
ご指摘の点、対応してみました。
お試し下さい。echo off
set from=C:\振り分け
set to=C:\整理済
for /f "delims=" %%a in ( 'dir /b "%from%\*.txt"' ) do call :sub "%%a"
echo 振り分け終了しました
exit /b
:sub
for /f "tokens=1 delims=]" %%f in ( "%~n1" ) do set findname=%%f]
:FolderA
if exist "%to%\A\%findname%*" move "%from%\%~nx1" "%to%\A\"&&goto :EOF
:FolderB
if exist "%to%\B\%findname%*" move "%from%\%~nx1" "%to%\B\"&&goto :EOF
:FolderC
if exist "%to%\C\%findname%*" move "%from%\%~nx1" "%to%\C\"
goto :EOF
No.2
- 回答日時:
こんにちは。
振り分けフォルダから整理済みフォルダ(C:\整理済)配下のA,B,Cフォルダへ振り分けるバッチファイルを作ってみました。例としている【○○】 [△△] □□.txtですが、】や]のあとに半角空白が入っていますが入っている前提でよろしいですね。
A,B,Cの順で見つかった時点で振り分けしますので、複数一致しても最初のフォルダだけ処理します。
echo off
set from=C:\振り分け
set to=C:\整理済
for /f "delims=" %%a in ( 'dir /b %from%\*.txt' ) do call :sub "%%a"
echo 振り分け終了しました
exit /b
:sub
set org=%1
for /f "tokens=1 delims=]" %%f in ('echo %~1') do set findname=%%f]
:FolderA
if exist "%to%\A\%findname%*" move "%from%\%~nx1" "%to%\A\"&&goto :EOF
:FolderB
if exist "%to%\B\%findname%*" move "%from%\%~nx1" "%to%\B\"&&goto :EOF
:FolderC
if exist "%to%\C\%findname%*" move "%from%\%~nx1" "%to%\C\"
goto :EOF
考えてくださり、ありがとうございます。
ですが、ファイルパスの部分だけいじったところ
振り分け終了しましたの文言が出てもファイルの移動までしてくれませんでした。
また、ファイル名に () ←半角の括弧がある場合も多数あるのですが、
【AA】 [BB] CC (DD) EE.txt
といったファイル名だった場合、
EE.txt') の使い方が誤っています。
といった具合に)から後ろの部分が間違っていると言われ弾かれてしまいます。
□□の部分はワイルドカードでできると思ってたので特に条件にあげていなくてすみませんでした。
弾かれないファイルを1つだけで試してみても移動しなかったのでこれだけが原因ではないと思います。
他にもやり方を変えてはみたのですがやはり自分には手に負えなかったので
どうかもう少しお力をお貸しください。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Excel(エクセル) エクセルのファイルにリンクを貼る方法 4 2023/06/30 11:09
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
複数フォルダをまとめて移動するバッチ
Windows Vista・XP
-
ファイル名から該当フォルダへ移動
Visual Basic(VBA)
-
.batでファイル名から抽出してフォルダを作成しコピーする
その他(プログラミング・Web制作)
-
-
4
バッチを用いたフォルダの自動移動
Visual Basic(VBA)
-
5
バッチファイル 別ファイルにリストしてあるファイルをコピーしたい
その他(プログラミング・Web制作)
-
6
VBA フォルダ名に特定の文字を含むフォルダを別フォルダにコピーするコードを教えて下さい
Visual Basic(VBA)
-
7
あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい
Visual Basic(VBA)
-
8
サブフォルダ内のファイルを全部移動させたい。
Visual Basic(VBA)
-
9
ファイルをフォルダに自動振り分け バッチファイル
その他(プログラミング・Web制作)
-
10
多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。
PowerPoint(パワーポイント)
-
11
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
12
同名フォルダを作成し、そのフォルダに移動するバッチ
その他(プログラミング・Web制作)
-
13
バッチファイルで、ファイル名から自動振分したい
その他(プログラミング・Web制作)
-
14
サブフォルダー内のPDFファイルを別フォルダにコピーするVBA
Excel(エクセル)
-
15
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
-
16
フォルダを自動作成・移動を複数ファイルに対して行うバッチ処理について
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで変数が数...
-
バッチファイルで、iniファイル...
-
ftp処理でmove(移動)を行いたい
-
.batでファイル名から抽出して...
-
access,vbaでフォルダ内のファ...
-
フォルダ内の更新日時が一番新...
-
[DOS] コピー先に同じファイル...
-
バッチファイルで、ファイル名...
-
ExcelVBAのDirでスペース含むフ...
-
MS-DOS のバッチのリネーム(日...
-
バッチにて複数のcsvファイルを...
-
ファイル名に ” を使うと エク...
-
GetSaveFileNameで初期ディレク...
-
aタグのhrefにネットワークパス...
-
コマンドプロンプトまたはpower...
-
【vbs】ファイル名の検索と該当...
-
テキストファイルのファイル名...
-
バッチコマンドでファイル名の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
バッチファイルで、iniファイル...
-
ExcelVBAのDirでスペース含むフ...
-
ftp処理でmove(移動)を行いたい
-
フォルダ内の更新日時が一番新...
-
.batでファイル名から抽出して...
-
【vbs】ファイル名の検索と該当...
-
word VBA ファイル名 保存
-
access,vbaでフォルダ内のファ...
-
VBA GetAttrについて教えてくだ...
-
バッチ処理で16進数でファイル...
-
ファイル名に ” を使うと エク...
-
サブフォルダからファイルをコ...
-
DOSのバッチ作成について‐FORの...
-
コマンドプロンプトまたはpower...
-
ファイル名を該当フォルダ内か...
おすすめ情報