プロが教える店舗&オフィスのセキュリティ対策術

Windowであるフォルダ内の全てのファイルを取得して、別のディレクトリのフォルダへコピーしたいです。

バッチコマンドでできれば一番いいのですが、そんな機能をもっているコマンドはないみたいなので、VBスクリプトでも構いません。

いい方法ないでしょうか?

A 回答 (5件)

copyまたはxcopyコマンドじゃダメなのですか?

    • good
    • 0

要求仕様がよく分からないのですが,自動でやりたいのですか,それとも手動でも良いのですか?


手動で良いなら,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)の処理をしようとしています。

スクリプトじゃなくてもフリーソフトでもあればいいのですが・・

補足日時:2007/02/02 23:43
    • good
    • 0

完全にカスタムメイドですね。

最初の文章ではまったく分かりませんでした。このような仕様だと,残念ながら作るしかないと思います。
    • good
    • 0

★kuriosprj さんへ


・VBスクリプトを作ってみました。
・ソースは次の回答で紹介します。
・ソース内にある
 『strBasePath』に PDF ファイルがあるフォルダ名を指定して下さい。→フルパス名
 『strCopyPath』にコピー先のフォルダ名を指定して下さい。→フルパス名
 ※この『strCopyPath』に 6 桁のサブフォルダ名が自動作成されます。
・全自動の処理を行わせるためにメッセージなどは表示されません。

最後に:
・ファイルはコピーですよね。もしも、ファイルの移動ならば『objFS.CopyFile』を
 『objFS.MoveFile』に変更して下さい。これで移動処理に変わります。
・以上。おわり。
    • good
    • 0

'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
    • good
    • 2
この回答へのお礼

お返事大変遅くなり申しわけありません。

コードまで作っていただきましてありがとうございます。
大変参考になりました。

使えそうです。

本当にありがとうございました。

また、何かの節はよろしくお願いいたします。

お礼日時:2007/02/25 16:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!