ファイル名に指定文字が含まれているファイルだけをコピーする
コピー対象をファイル名で判断すれば、特定の条件のみを満たすファイルを収集できる
いろいろなフォルダからファイルを一瞬で集めてくることはパソコン操作の自動化としては基本的な操作であり、簡単に実現できます。
ここでは、さらにそこから少し踏み込んで、ファイル名に指定した文字を含んだファイルを含むものだけを集めてくるようなパソコン自動化プログラムを作っていきたいと思います。
例えば、「ファイル名に「領収書」という単語が使われているファイルだけを別の様々なフォルダから集めてくる」といったような操作です。
・Windowsコマンドプロンプトのバッチファイルでファイル操作に興味がある人
インストールいらずの簡単プログラム作成
当サイトは、インストールは極力抑えてパソコン作業の自動化を実現することを目標としています。もちろん、どうしてもいくつかのソフトはインストールしないといけない場合はありますが、できるだけ現在のパソコン環境のままを保つように意識しています。
この理由は、
・インストールソフトにパソコンの容量を取られたくない
・自作の方が操作を自由に変更できる
など様々です。
ここでも、何もインストールする必要はありません。あなたがWindowsを使っているのであれば、それだけで作成条件を満たしています。
では、始めましょう。まずは、作業フォルダを決めましょう。どこでも構いません。私は下の画像で示したフォルダでプログラム作成作業を行っていきます。
ここに、「指定ファイルの収集.bat」というファイルを作成してください。※拡張子「.bat」は表示されていますか?されていない方は「ファイルの拡張子を表示する設定」を行って戻ってきてくださいね。
ファイルを作成したら、このファイルを開いて中に以下のコードをコピー&ペーストします。※開くときは、「右クリック」から「編集」を選びましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@echo off set /p string="収集するファイル名に含まれる文字を入力してください:" set /p folder="収集対象をなるフォルダを入力してください:" rem 指定文字のフォルダを作成 if not exist %string% mkdir %string% rem 収集対象フォルダへ移動 cd %folder% rem 指定文字を含むファイルを探し収集する for /r %%i in (*%string%*.*) do ( copy /y %%i %~dp0\%string% ) |
コードについての説明は後に回して、とにかく使ってみましょう。
テスト実行用として、適当にフォルダとファイルをいくつか作ります。以下のような構成のテスト用環境を作りました。
∟XXX_注文書.txt
∟XXX_領収書.txt
∟サブフォルダ①[フォルダ]
∟注文書_XXX.txt
∟領収書_XXX.txt
∟サブフォルダ②[フォルダ]
∟注文書_AAA.txt
∟領収書_AAA.txt
「対象フォルダ」というフォルダがあり、その中に注文書と領収書ファイルが入っています。また、さらに2つのサブフォルダが存在し、それぞれに注文書と領収書ファイルが1つずつ入っています。
ここから、ファイル名に「領収書」というワードが含まれているファイルだけをコピーしてきましょう。現在の作業フォルダは以下の画像のようになっています。
「指定ファイルの収集.bat」をダブルクリックして実行してください。すると、黒い画面が現れると思います。
そこに、
・収集対象をなるフォルダ
を入力します。ここでは、「領収書」というワードが入ったファイルを探したいので、1つ目には「領収書」。対象フォルダは先ほど作った「対象フォルダ」なので、2つ目には「対象フォルダ」と入力してエンターキーを押します。
すると、「指定ファイルの収集.bat」と同じフォルダ内に「領収書」というフォルダが作られたと思います。
この中を覗くと、対象フォルダ内に入っていた「領収書」という単語がファイル名についているファイルだけが、コピーされています。
このように、指定したワードが使われてるファイルを対象のフォルダから探し出し、指定したワード名のフォルダ内にコピーするという自動化プログラムが完成しました。
コードの簡単な説明
ここで使ったプログラムはWindowsコマンドプロンプトのバッチファイルというもの使用しています。これは、Windowsにデフォルトで入っているインストールなしで使えるプログラムです。
このプログラムを改良したい方へ向けて、少しだけコードの解説をします。もう一度コードを示すと、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@echo off set /p string="収集するファイル名に含まれる文字を入力してください:" set /p folder="収集対象をなるフォルダを入力してください:" rem 指定文字のフォルダを作成 if not exist %string% mkdir %string% rem 収集対象フォルダへ移動 cd %folder% rem 指定文字を含むファイルを探し収集する for /r %%i in (*%string%*.*) do ( copy /y %%i %~dp0\%string% ) |
となっています。
1行目はおまじないで、大して重要ではありません。
3, 4行目はユーザーに指定ワードと対象フォルダ情報を聞き出す部分です。黒い画面(コマンドプロンプト画面と言います)で、初めに指定ワードと対象フォルダを聞かれたのはこの部分によるものです。
7行目は指定ワードで受け取った名前のフォルダを作る部分です。前節の例でいうと、「領収書」というフォルダができたのはこのコマンドが実行されたからです。
10行目は飛ばして、13行目から最終行までが、指定ワードを含むファイルを探し出しコピーする部分です。この辺りの説明は専門サイトへ任せましょう。
おわりに
いかがでしたでしょうか?パソコン自動化プログラムは何もソフトをインストールせずとも大抵のことは出来てしまいます。自由に自動化プログラムが作れるようになれば、自分好みに自由にパソコン作業の自動化を行えますし、大量のソフトの管理からも解放されます。
是非、パソコン作業自動化プログラミングを学んでみてください。
自動化プログラムの作成を依頼しませんか?
幣サイトでは、Windowsパソコンの自動化プログラムの作成サービスを行っています。
本サービスの特徴は、
・安価な値段
・個人から法人までどなたでも対応
・お客様の要望を全力で実現
です。
安いからといって、決して手は抜きません。
まずは、下のボタンからWindowsパソコンの自動化プログラムの作成サービスの詳細をご確認ください。