サブフォルダのファイルも含め、すべてのファイルを取得するには、3番目のパラメータにSearchOption.AllDirectoriesを指定します。 以下の例では、フォルダ"C:\test"以下にあるファイルのパスをすべて取得し、リストボックス(ListBox1)に表示しています。 /fパラメータで、ファイルの各行を読み取ることができる。 このaprpath.iniの各行を%%iに代入してfor文を回している。便利! ちなみに、aprpath.iniには、ファイル名がフルパス(ワイルドカードを含む)で各行に書かれている。 FileSystemObjectはファイル操作のための基本オブジェクトだ。WSHでファイルやフォルダをコピーしたり、移動、削除する方法について解説する。 (2/2) ファイルシステムオブジェクトとはファイルやフォルダ、ドライブを操作するためのオブジェクトです。ファイルシステムオブジェクト内にはファイルなどを操作するためのオブジェクトとコレクションが含まれています。 しかし、VBS(VBスクリプト)では、like演算子そのものがありません。 では、どうするかというと、正規表現のオブジェクトを使います。 ワイルドカード『*』に対応する正規表現は『. 複数のファイルを一括削除(ワイルドカード指定) Kill ステートメントおよび、FileSystemObject.DeleteFile はワイルドカード指定で複数のファイルを一括して削除することができます。 ワイルドカードとは、ファイル名に、「 * 」 や 「 ? ' :findStr As String (検索するファイル名※拡張子まで) '戻り値 :True(ファイル存在あり),False(ファイル存在なし) '備 考 :ワイルドカード検索も可能 function SrcFile4Folder(folder,findStr) dim res For Each file In folder.Files If file.Name = findStr then まずファイル名を記述するところにワイルドカードが記述されていた場合、その条件に一致するファイルが存在するかどうかが検索されます。 シェルスクリプトのファイル存在判定でワイルドカードを使いたい ファイル判定で以下のように書くと 「unexpected operator」とエラーになります。 if [ -f /path/*.txt ]; then echo "OK" fi 以下のように書けばエ… お世話になっております。Vbsを使用して以下のことを実施したいと思っております。 実施したいとこあるフォルダの中にある「.dat」ファイル(複数あります)をテキストファイルに書き込みを行いたい。 例Aフォルダの中にB.dat、c.dat、e. フォルダが存在するかチェックするために、Dir関数の戻り値がフォルダ名と一致するかを判定しました。 ワイルドカードでファイル一覧を取得. 」 を使用できます。 サブフォルダのファイルも含め、すべてのファイルを取得するには、3番目のパラメータにSearchOption.AllDirectoriesを指定します。 以下の例では、フォルダ"C:\test"以下にあるファイルのパスをすべて取得し、リストボックス(ListBox1)に表示しています。 ファイルを削除します。 指定したファイルが存在しない場合はエラーになります。 ファイル名にワイルドカード「*」が使用できます。 この場合、サブフォルダ内のファイルは削除されません。 ファイルシステムオブジェクトとはファイルやフォルダ、ドライブを操作するためのオブジェクトです。ファイルシステムオブジェクト内にはファイルなどを操作するためのオブジェクトとコレクションが含まれています。 お世話になっております。Vbsを使用して以下のことを実施したいと思っております。 実施したいとこあるフォルダの中にある「.dat」ファイル(複数あります)をテキストファイルに書き込みを行いたい。 例Aフォルダの中にB.dat、c.dat、e. ワイルドカードの仕組み. '変数を宣言 Dim FS Dim ret 'ファイルシステムオブジェクトを生成 Set FS = CreateObject("Scripting.FileSystemObject") 'C:\vbs\test.txtが存在するかを確認 ret = FS.FileExists( "C:\vbs\test.txt" ) 'ファイルが存在する場合 True、存在しない場合 False が表示される。 MsgBox ret *』です。