dポイントプレゼントキャンペーン実施中!

こんにちは

VBScriptでツールを作成しています。
フォルダA内の全ファイルをリネームして
別フォルダB内に同じファイル名があればリネームして
フォルダA内のファイルをコピーしたいのですが
一度にフォルダ内の全ファイル名を取得する方法が分かりません。

なにかいい方法は無いでしょうか?よろしくお願いします。

A 回答 (1件)

VBスクリプトサンプルです。



以下のプログラムをVBSファイルとして保存してください。
(※※※※全角スペースは半角スペース2個と置換してください※※※※)

そのファイルにエクスプローラなどから、フォルダをドラッグしてみてください。
プログラム先頭で切った出力先に、ログとして残ります。



Option Explicit
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Const LIST_FILE = "C:\FileList.txt" '←ログ出力先
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


'-----------------------------------------------

Dim objArgs
Dim fsoObj
Dim objText

'オブジェクト生成
Set objArgs = WScript.Arguments
Set fsoObj = CreateObject("Scripting.FileSystemObject")

'ログファイルがあったら抹消
If fsoObj.FileExists(LIST_FILE) Then
  Call fsoObj.DeleteFile(LIST_FILE)
End If

'ログファイル準備
Set objText = fsoObj.OpenTextFile(LIST_FILE, 8, True, 0)

'メイン実行
Call MainProc(objArgs)

'ログファイルクローズ
objText.Close


'オブジェクト開放
Set objText = Nothing
Set fsoObj = Nothing
Set objArgs = Nothing
'-----------------------------------------------



'-----------------------------------------------
'メイン実行部
'-----------------------------------------------
Sub MainProc(arg)
  Dim objParam

  'パラメータループ
  For Each ObjParam in arg
    'フォルダであるかをチェック
    If fsoObj.FolderExists(objParam) Then
      'リスト作成メイン実行
      Call CreateFileList(objParam)
    End If
  Next
End Sub


'-----------------------------------------------
'リスト作成メイン
'-----------------------------------------------
Sub CreateFileList(inFolderName)
  Dim fsoFolder
  Dim fsoSubFolder
  Dim fsoFile
  
  'フォルダオブジェクト取得
  Set fsoFolder = fsoObj.GetFolder(inFolderName)
  
  'フォルダ内/ファイルループ
  For Each fsoFile In fsoFolder.Files
    'ログに出力
    objText.WriteLine fsoFile.Path
  Next
  
  'フォルダ内/サブフォルダループ(サブフォルダが不要なら、このループは不要)
  For Each fsoSubFolder In fsoFolder.SubFolders
    'サブフォルダで再帰
    Call CreateFileList(fsoSubFolder)
  Next
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございます!
フォルダ内をループしながらファイル名を取得できる方法があったんですね。
とっても参考になりました。

お礼日時:2005/08/05 14:52

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

このQ&Aを見た人はこんなQ&Aも見ています