- - PR -
VBSであるフォルダの以下特定のファイルを全て参照する方法
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-11-09 14:04
いつもお世話にあなっております。
現在VBSファイルを作成しています。 VBSファイルの処理はあるフォルダ内の下位にある.txtのファイルを全て削除する ことです。 あるフォルダ以下に全てのファイルを参照したいのですが サブフォルダもあるためどのように記述してよいか分かりません。 ご存知の型がいらっしゃいましたらご教授よろしくお願い致します。 | ||||
|
投稿日時: 2006-11-09 14:21
再帰呼び出しを使えば良いです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-11-09 14:31
じゃんぬねっとさん回答ありがとうございます。
>再帰呼び出しを使えば良いです。 とは・・・どういったことでしょうか・・・ よろしければもう少し詳しくご教授いただけると幸いです。 | ||||
|
投稿日時: 2006-11-09 14:41
Google で検索しましょう。(すぐにヒットします) たとえば、MyDeleteFile 関数の中で MyDeleteFile 関数を呼び出すことです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-11-09 14:53
http://www.microsoft.com/japan/technet/scriptcenter/scripts/storage/folders/stfovb10.mspx
モロに答えを教えるのもどうかとは思うが、 丸写しもちゃんと理解すれば次から実力に転化するので、 ズバリの答えを上記からどうぞ。 | ||||
|
投稿日時: 2006-11-09 14:57
じゃんぬねっとさんご回答ありがとうございます。
>Google で検索しましょう。(すぐにヒットします) >たとえば、MyDeleteFile 関数の中で MyDeleteFile 関数を呼び出すことです。 調べてみたところすぐにヒットし考えてみたのですが・・・ 申し訳ございません理解力がないのかさっぱりです・・・ '====================イメージファルダ内のdbファイル削除処理================== 'ファイルシステムオブジェクトを作成 Set Lo_objFileSys = CreateObject("Scripting.FileSystemObject") 'フォルダ内の名前全部取得 Set Lo_objFileSys = Lo_objFileSys.GetFolder("C:\DelFile") 'フォルダ名を全部回すところ For Each objwk in Lo_objFileSys.SubFolders Sp_Log(objWK.Path) If objWK.Path <> "" Then 'ファイルシステムオブジェクトの作成 Set Lo_objFile = CreateObject("Scripting.FileSystemObject") 'オブジェクトの開放 Set Lo_objFile = Nothing Else End If Next 'ファイル名を全部回す For Each objWK_T in Lo_objFileSys.Files Sp_Log(objWK_T.Path) 'ファイルに"db"があるかないかをチェック If InStr(objWK_T.Path,".txt") > 0 then 'ファイルの削除を行います Lo_objFileSys.DeleteFile objWK_T.Path Else End If Next 'オブジェクトの開放 Set Lo_objFileSys = Nothing '============================================================================= 今作成段階でこんな感じです。 手探り手探りでやっております。 何かお気づきの点がありましたらご教授よろしくお願いします | ||||
|
投稿日時: 2006-11-09 15:45
まずは再帰構文のおべんきょからはじめましょう。
http://karetta.jp/book/cpuzzle-recursion #C言語だけど、まあ何とかなるでしょう。 | ||||
|
投稿日時: 2006-11-09 16:01
platiniさんご回答ありがとうございます。投稿が入れ違ったようで返信が遅れておりました。申し訳ございません。
参考HPを見まして作成してみました 'ファイルオブジェクトを作成 Set Lo_objFileSys = CreateObject("Scripting.FileSystemObject") 'フォルダ内の名前取得 Set Lo_objFileSys = Lo_objFileSys.GetFolder("C:\DelFile") ShowSubFolders(Lo_objFileSys) 'サブプロシージャーで再帰使用? Sub ShowSubFolders(Folder) Lt_Msg="ファイルが存在しません。" Sp_Log( Lt_Msg ) '取得したフォルダーのサブフォルダーを検索 For Each objWK_T in Folder.SubFolders 'ファイルシステムオブジェクトの作成 Set Lo_objFileSys_File = CreateObject("Scripting.FileSystemObject") 'フォルダ内の名前取得 Set Lo_objFile_File = Lo_objFileSys_File.GetFolder(objWK_T.Path) 'ファイル名を全部回す For Each objTT in Lo_objFile_File.Files 'ファイル名に"db"があるかないかをチェック If InStr(objTT.Path,".db") > 0 then 'ファイルの削除を行います Lo_objFile_File.DeleteFile objTT.Path Else End If Next 'オブジェクトの開放 Set Lo_objFileSys_File = Nothing Set Lo_objFile_File = Nothing '???? Wscript.Echo objWK_T.Path '再帰呼び出し? ShowSubFolders(objWK_T) Next End Sub と作成してみたのですがうまく動作はしません・・・ 色々試行錯誤中でございます。何かご教授いただければ幸いです。 宜しくお願い致します。 かずくんさんご回答ありがとうございます。 VBSでの作成が今回初めてで今日中に作成しなければならないので・・・ すみませんだいぶ焦っている状態です・・・ 完成後参考HPを読みもう一度勉強しなおしたいと思っております |
1|2|3
次のページへ»