- ベストアンサー
フォルダ内のファイルを取得し別ディレクトリへコピーしたい
Windowであるフォルダ内の全てのファイルを取得して、別のディレクトリのフォルダへコピーしたいです。 バッチコマンドでできれば一番いいのですが、そんな機能をもっているコマンドはないみたいなので、VBスクリプトでも構いません。 いい方法ないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
'PDFファイルがあるフォルダ名 strBasePath = "C:\Box" 'コピー先のフォルダ名(このサブフォルダに6桁のフォルダ名が自動作成される) strCopyPath = "C:\Box" Call CustomCopyFile(strBasePath,strCopyPath) '処理ルーチン Sub CustomCopyFile(BasePath,CopyPath) Set objFS = CreateObject("Scripting.FileSystemObject") Set objFolder = objFS.GetFolder(BasePath) 'ファイル名の検索 For Each objFile In objFolder.Files strFolder = Left(objFile.Name,6) strCreate = CopyPath & "\" & strFolder strFname = objFolder.Path & "\" & objFile.Name 'フォルダ自動作成 If Not objFS.FolderExists(strCreate) Then objFS.CreateFolder(strCreate) End If 'コピー処理 objFS.CopyFile strFname, strCreate & "\" Next End Sub
その他の回答 (4)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★kuriosprj さんへ ・VBスクリプトを作ってみました。 ・ソースは次の回答で紹介します。 ・ソース内にある 『strBasePath』に PDF ファイルがあるフォルダ名を指定して下さい。→フルパス名 『strCopyPath』にコピー先のフォルダ名を指定して下さい。→フルパス名 ※この『strCopyPath』に 6 桁のサブフォルダ名が自動作成されます。 ・全自動の処理を行わせるためにメッセージなどは表示されません。 最後に: ・ファイルはコピーですよね。もしも、ファイルの移動ならば『objFS.CopyFile』を 『objFS.MoveFile』に変更して下さい。これで移動処理に変わります。 ・以上。おわり。
- Jimo
- ベストアンサー率37% (68/179)
完全にカスタムメイドですね。最初の文章ではまったく分かりませんでした。このような仕様だと,残念ながら作るしかないと思います。
- Jimo
- ベストアンサー率37% (68/179)
要求仕様がよく分からないのですが,自動でやりたいのですか,それとも手動でも良いのですか? 手動で良いなら,x1vaさんのようにコマンドラインでやっても良いし,あるいはexplorer内で当該フォルダ内に入り,Ctrl+Aで全選択して,Ctrl+Cでコピー,コピー先でCtrl+Vで行けますよね?そういう話ではないとすると,例えばcygwinなどのUNIXライクコマンドを組み合わせる手もあるかもしれません。出来る出来ないは保証の限りではありませんが, find . -depth -print | cpio -pdl newdir なんて手があるかな・・・
補足
お返事遅くなりました。 やはり仕様がいまいち伝わりませんでしたね。 これは自動で行いたいです。 (1)ある処理である1つのフォルダにPDFファイルが複数たまります。 (2)(1)でたまったPDFファイル名の先頭から6桁を取得して別のフォルダへコピーする。 例) (1) a、A001000702021.pdf b、A001000702022.pdf c、B002000702021.pdf というファイルが”BOX”というフォルダにあるとすると (2)の処理で フォルダ”A00100”にはa、b が フォルダ”B00200”にはc がコピーされている といった処理を行いたいのです。 (1)の数時間後に(2)の処理をしようとしています。 スクリプトじゃなくてもフリーソフトでもあればいいのですが・・
- x1va
- ベストアンサー率26% (802/3006)
copyまたはxcopyコマンドじゃダメなのですか?
お礼
お返事大変遅くなり申しわけありません。 コードまで作っていただきましてありがとうございます。 大変参考になりました。 使えそうです。 本当にありがとうございました。 また、何かの節はよろしくお願いいたします。