
VBScriptはまったくの初心者ですので、自分なりに調べてはみたのです
がどうしてもわからなかったため質問しています。
OSはWinXPになります。
VBScriptで特定のフォルダ(C:\AAA\)以下からファイル(*.txt)を検索し
てコピーするプログラムを書きたいです。
C:\AAA\・・・\*.txt
指定したフォルダからファイルを検索をすることはできたのですが、サ
ブフォルダがたくさんある場合のファイル検索ができませんでした。
コピーの仕方は検索したファイルから最新のタイムスタンプのファイル以外を別フォルダにコピーしたいです。
あとわかりやすいVBScriptについて記載されているサイトも教えていただけると助かります。
No.1ベストアンサー
- 回答日時:
フォルダ以下からファイルの検索をするにはサブフォルダについて再帰処理をする方法があります。
例えば下のコードのように。コピーは考慮すべきことが多いと思います。最新のタイムスタンプを知るにはファイル名ごとに(?)記憶する必要があります。また別フォルダは一つのフォルダにするか、コピー元と同じ構造にするか、ファイル名が重複したらどうするか、容量不足になったらどうするか、など。
VBScriptでgoogleすればたくさんサイトが出てきますね。MSのページは基本です。
http://www.microsoft.com/japan/msdn/scripting/
http://www.microsoft.com/japan/technet/scriptcen …
-----
Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder("C:\AAA")
Sub ShowSubFolders(Folder)
For Each File in Folder.Files 'Foler内のファイルを列挙する
Fname = File.name
If LCase(FSO.GetExtensionName(Fname))="txt" Then '拡張子txtを判定
WScript.Echo Folder & "\" & Fname
End If
Next
For Each Subfolder in Folder.SubFolders 'Foler内のフォルダを列挙する
ShowSubFolders Subfolder '再帰呼び出し
Next
End Sub
-----
わかりにくい質問に対して、わざわざソースコードまで書いて頂いてありがとうございます。
大変、参考になります。
>コピーは考慮すべきことが多いと思います。最新のタイムスタンプを知るにはファイル名ごとに(?)記憶する必要があります。また別フォルダは一つのフォルダにするか、コピー元と同じ構造にするか、ファイル名が重複したらどうするか、容量不足になったらどうするか、など。
そうですよね。コピーに関してもう少し調べて考えてみたいと思います。
別フォルダに関しては元々あるフォルダの下にコピー元と同じ構造に
しようと思っています。ファイル名の重複、容量不足については考えて
いませんでした。
すいません、もう1つお尋ねしたいことがあるのですが、拡張子txtでは
なくプレフィックスで検索する場合も同じように"txt"のところに
プレフィックス名を指定すればよいのでしょうか?
No.2
- 回答日時:
ANo.1のお礼の回答です。
>拡張子txtでは
>なくプレフィックスで検索する場合も同じように"txt"のところに
>プレフィックス名を指定すればよいのでしょうか?
ANo.1のコードではFnameにファイル名が求まっていて、文字列を扱う様々な方法で判定できます。ドキュメントをご覧になり、やってみて下さい。
固定のプレフィックスだけでしたらLeft関数を使うとよいでしょう。
If LCase(Left(Fname,3))="goo" Then 'プレフィックスgooを判定
正規表現を使えばもっと柔軟にできます。
返信遅くなりまして申し訳ございません。
もう少しドキュメントを見ながら調べてやってみたいと思います。
大変、参考になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハイフネーションされている英...
-
frxファイルの役目
-
エクセルのハイパーリンクがコ...
-
ファイルサーバ上のファイルが...
-
[エクセル]コピーするとオブジ...
-
バッチファイルのコピーで
-
galaxy sに音楽を入れたい
-
現在のブックを閉じないで、マ...
-
xcopyでのバッチコピー方法でコ...
-
エクセル 同じデータなのに違う...
-
VBでファイルコピー時にコピー...
-
vbsでファイルやフォルダのコピ...
-
バッチファイル 別ファイルにリ...
-
JWCADのファイルを他のP...
-
vbsでExcelのシートをコピーす...
-
CopyFileコマンドでのファイル...
-
エクセルで複数のコメントのサ...
-
エクセル2010、図が大きすぎま...
-
HTA + VBScript (+ Javascript)...
-
VBAでXCOPYの実行結果を取得したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
ファイルサーバ上のファイルが...
-
Vba初心者です。下記のコード助...
-
エクセルのハイパーリンクがコ...
-
同じファイル名 上書きしないフ...
-
xcopyでのバッチコピー方法でコ...
-
バッチファイル 別ファイルにリ...
-
[エクセル]コピーするとオブジ...
-
vbsでファイルやフォルダのコピ...
-
バッチファイルのコピーで
-
バッチファイル XCOPYで上書き...
-
現在のブックを閉じないで、マ...
-
bat 同名ファイルコピー時にリ...
-
エクセル2010、図が大きすぎま...
-
アクセス クエリを別のファイ...
-
ハイフネーションされている英...
-
特定のエクセルファイルが止ま...
-
マインクラフトPCをプレイしよ...
-
パワポでスライドをコピーでき...
おすすめ情報