- ベストアンサー
ファイルをフォルダに自動振り分け バッチファイル
Cドライブ直下の"A"フォルダにある1,000件のCSVファイルをCドライブ直下に作成した5つのフォルダ"1~5"に自動振り分けしたいと思っています。 振り分け条件はExcelで管理しており、CSVのファイル名(1,000件分)と振り分け先のフォルダ名(1,000件それぞれ1~5のフォルダ)を入力してあります。 バッチファイルでMOVEを利用して自動振り分けできないか…と考えていますが、上手く行きません。 どなたか教えていただけないでしょうか。宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 私はバッチファイルを作るのによくExcelを使っています。 例えば、コピーをするのに copy file1 folderA というコマンドなので、 A列に「cp 」、B列に「file1」C列に「folderA」を入れ、D列に次の式を入れます。 =A1 & B1 & " " C1 すると、D列は「copy file1 folderA」になると思います。 あとは、D列をコピーし、別シートに「形式を指定して貼り付け」で「値」を選んで貼り付けして、一度、ファイルを保存した後、再度、「名前をつけて保存」でテキスト形式で保存します。 その後、メモ帳でテキストファイルを開いてコマンドが正しくできていることを確認し、拡張子を「.bat」にして実行します。 万が一を考えて、moveではなくcopyでやって、結果を確認した後に削除した方が良いでしょう。 では。
その他の回答 (1)
- rivoisu
- ベストアンサー率36% (97/264)
振り分け条件がExcelにあるのだったらVBAがいいと思います。 FilesystemOjjectを使う方法なので一般的ではありません。 FilesystemOjjectの使い方はVBSの解説サイトに多く在ります。 これらのコードがほとんど(少しの修正で)VBAでも使えます。 http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/wshtop.htm
お礼
教えて頂き有難うございました。 ただ私の知識では教えていただいたサイトを読み取るのにも苦労してしまい上手く行きませんでした。 VBAなどもたまに利用する機会がありますので、今後の参考に致します。
お礼
テスト的にファイルとフォルダを作成して記述してみたところ、上手く行きました。 これで大量のデータが一度に振り分けられると思うと嬉しいです。 さっそく本番データをコピーしてテストしてみたいと思います。 ありがとうございました。