はじめて質問させていただきます。
質問内容は会社でファイル分け作業をbatファイルで、できないかという事です。
ファイル名(全て半角英数字)
AAAA23.doc
BBB834.doc
CCCA87.doc
AAA567.doc
最初の3文字だけファイル名を抽出し、抽出した3文字のフォルダを作成。
抽出したフォルダにコピーする。
ファイル名は長くなる事はあっても、抽出する文字数は一定です。
会社で使う為にフリープログラムなど使えない状態です。
別の質問にあった下記のバッチが近いのですが、最初の3文字抽出ができずに困っております。
:LOOP
if "%~1"=="" goto :EOF
md "%~n1"
move "%~1" "%~n1"
shift
goto :LOOP
解りずらい説明、最後まで読んでいただきありがとうございました。
No.1ベストアンサー
- 回答日時:
以下のような感じでいかがでしょうか。
「設定」の所にある、振り分け対象ファイルが入ったフォルダである「C:\振り分け対象フォルダ」の部分は、環境に合わせて書き換えて使ってください。
対象ファイルは、対象フォルダ内のファイルのみです。
サブフォルダ下のファイルは含みません。
「%」を含むファイル名やパスには対応していません。
安全の為に、テスト用にコピーしたファイルを対象にまず実行してください。
―――――――――――――――――――――――――――
@echo off
rem ■ 設定 ■
set "対象フォルダ=C:\振り分け対象フォルダ"
rem ■ カレントディレクトリの移動 ■
pushd "%対象フォルダ%"
rem ■ 振り分け処理の開始 ■
for /F "delims=" %%a in ('dir /b /a-d') do (
call :振り分け処理 "%%a"
)
rem ■ 全て終わったら完了メッセージを表示する ■
echo.
echo.
echo. 完了しました。
echo.
echo.
pause
rem ■ このバッチファイルを終了させる ■
exit /b
rem ■ 振り分け処理 ■
:振り分け処理
rem ■ 変数「ファイル名」に、今回のファイル名を代入する ■
set "ファイル名=%~1"
rem ■ 変数「フォルダ名」に、「今回のファイル名の頭から3文字」を代入する ■
set "フォルダ名=%ファイル名:~0,3%"
rem ■ 変数「フォルダ名」を使ってフォルダを作成する(まだ無い場合) ■
if not exist "%フォルダ名%" md "%フォルダ名%"
rem ■ 今回のファイルを移動させる ■
move "%ファイル名%" "%ファイル名:~0,3%\"
rem ■ 今回のファイル処理を終了する ■
exit /b 2
―――――――――――――――――――――――――――
こんなに短時間に詳しい説明付き、誠にありがとうございます。
凄くわかりやすく、テストも無事にできました。
こんなに一瞬で振り分けれる事に感動してます。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- 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) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
同名フォルダを作成し、そのフォルダに移動するバッチ
その他(プログラミング・Web制作)
-
ファイル名と同名のフォルダを自動作成して移動させる方法はありますか?
Access(アクセス)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
ファイル名を該当フォルダ内から検索して移動
その他(プログラミング・Web制作)
-
5
複数フォルダをまとめて移動するバッチ
Windows Vista・XP
-
6
ファイル名の頭5桁と同名のフォルダを自動作成し、移動させる方法はありますか?
Access(アクセス)
-
7
バッチを用いたフォルダの自動移動
Visual Basic(VBA)
-
8
xcopyで特定のファイルのみをコピーする方法
Windows 10
-
9
Batch: フォルダ内の特定のファイル以外を全て削除
その他(プログラミング・Web制作)
-
10
bat ファイルでフォルダ作成&移動
Windows Vista・XP
-
11
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
12
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
13
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
14
バッチファイル 別ファイルにリストしてあるファイルをコピーしたい
その他(プログラミング・Web制作)
-
15
[DOS] コピー先に同じファイル名がある場合、名前を変えて...
その他(プログラミング・Web制作)
-
16
ワイルドカードを使ってでフォルダを削除
Windows 10
-
17
ファイル名からフォルダを自動生成して振り分けしてくれるソフト
フリーソフト
-
18
ファイルと同名のフォルダに移動するには?
その他(パソコン・スマホ・電化製品)
-
19
一定のファイル数ごとにフォルダ振り分けがしたい
フリーソフト
-
20
ファイルをフォルダに自動振り分け バッチファイル
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
バッチコマンドでファイル名の...
-
[DOS] コピー先に同じファイル...
-
フォルダ内の更新日時が一番新...
-
コマンドプロンプトで変数が数...
-
ExcelVBAのDirでスペース含むフ...
-
DOSのバッチ作成について‐FORの...
-
ファイル名に ” を使うと エク...
-
■ファイルのリネーム(rename)...
-
スタートアップのファイルをバ...
-
バッチ処理で16進数でファイル...
-
エクセル VBA ファイル名削除
-
Windowsコマンドプロンプトで、...
-
テキストファイルのファイル名...
-
【VBScript】※渡したい変数のみ...
-
.batでファイル名から抽出して...
-
access,vbaでフォルダ内のファ...
-
サブフォルダからファイルをコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
バッチコマンドでファイル名の...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
フォルダ内の更新日時が一番新...
-
ftp処理でmove(移動)を行いたい
-
ExcelVBAのDirでスペース含むフ...
-
.batでファイル名から抽出して...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
Windowsコマンドプロンプトで、...
-
【DOSバッチ開発】末尾のタブの...
-
word VBA ファイル名 保存
-
コマンドプロンプトまたはpower...
-
【vbs】ファイル名の検索と該当...
-
ファイル名を該当フォルダ内か...
-
バッチ処理で16進数でファイル...
-
スタートアップのファイルをバ...
おすすめ情報