• 締切済み

VBScript IF文の質問

あるフォルダ中のファイルを削除する、VBScriptを作成しています。使用上、フォルダ内には、数十種類の拡張子を持つファイルが存在します。 "GetExtensionName"を使用して削除対象のファイルを拡張子を限定しています。(例えば.txtや.logです) 対象としている拡張子のファイルの中に、さらに除外する必要のあるファイルが、3種類ほど、あります。(例えば、ファイル名にabcやxyzの文字列を含む.txtファイル) IF文を使って、色々と試しているのですがどうしてもうまく行きません。 どなたかご存知の方いたら、教えてください。 宜しくお願いします。 OSは、WindowsServer2003です。

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.1

「文字列を含む」であれば、Instr関数が使えます。最初にLcaseで小文字に変換してから調べた方がいいでしょうね。 if instr(lcase(filename),"abc")>0 then  abcが含まれる場合の処理 end if

Koso570
質問者

お礼

notnotさん アドバイス有難うございました。 何とか出きるか只今、考え中です。 拡張子.logと.txtファイルを削除対象とする。 下記にあるうち、abc.txtとabc_def.txtと34.logファイルは削除除外とする必要があります。 それで困ってしまいました。 abc.txt、abcd.txt、abc_def.txt、abc_defg.txt、abc_defgh.txt その他、100個ほどの.txtファイル 3456.log、345.log、34.log、3.log その他、100個程の.logファイル その他の除外拡張子ファイル .jpg、.xls、.doc、ppt、.ini、.exe等

関連するQ&A

  • VBscript日付を指定して、ファイル削除

    あるフォルダ内で、過去5日分を残して、それ以前に作成されたファイルを削除するVBScriptを作成しようと考えています。 また、フォルダ内で、削除するファイルの拡張子は「.log」のみです。 色々と検索してみたのですが、方法が分かりません。 どなたか、教えていただけないでしょうか。 OSは、WindowsServer2003 EE 64bitです。 宜しくお願いします。

  • VBScriptでのSaveAsについて

    現在、私は「VBScript」を学習中です。 練習に、VBScriptで任意のフォルダにあるすべてのWordのファイルをテキストファイルに保存する簡単なプログラムを作りました。 それは作れたのですが、SaveAsでテキスト保存するときに、 w.SaveAs "xyz.txt", 2 というように、「2」を指定することはいろいろなサイトでわかったものの、それでは他の場合の「一覧」というのがどうしても見つかりません。 Microsoftのサイトでも、「VBA」の場合、「olDoc, olTXT…」などと載っていますが、「VBScript」での使用例がその下に載っているものの、「VBA」の「olDoc」がVBScriptではどの数字を指定するのかなど、一切記載がありません。 どなたか、「VBScript」で「SaveAs」利用時の引数の一覧が掲載されているサイトをご存じの方がおられましたら、アドレスをお教えください。 よろしくお願い致します。

  • MS-DOSでのファイル/フォルダ一括削除

    以下のようなフォルダ、ファイルがあるとし、LOGDIR下にある「200803」の文字列を 含まないファイル及びフォルダをDOSコマンド(Win2003)で削除(できれば一括で) する方法を模索しています。 Cドライブ   |   |   +LOGDIR      |      +---LOG20080228_084539    <--- 削除対象ディレクトリ      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      +---LOG20080229_101553    <--- 削除対象ディレクトリ      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      +---LOG20080301_132059    <--- 削除対象ディレクトリでない      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      +---LOG20080302_185945    <--- 削除対象ディレクトリでない      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      |      |-----test20080229_085523.txt    <--- 削除対象ファイル      |      |-----test20080229_092310.txt    <--- 削除対象ファイル      |      |-----test20080301_153859.txt    <--- 削除対象ファイルでない      | 方法をご存知の方、いらっしゃいませんか?

  • VBScriptで削除処理

    初めまして。 VBScriptを今回初めて使用しながらスクリプトを作成しようとしています。 〔質問〕 以下のような削除処理をVBScriptにて実施したいのですが、どのような構文を書けばいいのでしょうか? ご教授お願いします。 以下、例を挙げ記述致します。 (例)処理日が2008/3/22の場合。 「AAAA」ディレクトリ配下の以下のログファイルを二日前までの日付になっているログファイルのみ残し、あとは全て削除するという処理をしたい。 AAAAディレクトリの配下 ・aa080319.log→削除 ・aa080320.log→削除 ・aa080321.log→残す ・aa080322.log→残す 上記例を用いますが、自分で考えた処理フローとしまして、 (1)「AAAA」ディレクトリ配下のファイル一覧をテキストファイルに書き込む。 (2)「(1)」で作成したテキストファイルを読み込み、「2008322」と「2008321」に一致しないログファイルを削除。 以上、宜しくお願いします。

  • 日付順にテキストを開いて書き込むエクセルマクロ

    あるフォルダの中に「abc#1xyz_201308.txt」という形のテキストファイルがあり、 ボタンを押すと、直近1年分のファイルに対して中身のデータをシート3に書き込むような マクロを作りたいのですが、直近1年分のものに対して所定の操作を行うやり方が分かりません 例として、「C:\Users\Owner\Documents」に「abc#1xyz_201308.txt」の形のファイルが 1年以上分ある場合で教えていただけますか? (テキストは日付以外は同じ名前、つまりabc#1xyz_201307.txtやabc#1xyz_201306.txtが存在し それ以外の名前のものはこのフォルダにはありません。またフォルダ内には順番通り入っていませんが シートに書き込むのは古いものから順にしたいです)

  • 【VBScriptについて】VBScriptでアスタリスクは使えるのでしょうか

    質問させてください。 VBScriptを使用してフォルダ(file2)があるかどうか確認したいと思っております。 しかし上位のフォルダが何か分からず、又、上位フォルダが何階層になっているかも 分かりません。 その場合、アスタリスクを使用したりなど 何か方法はあるのでしょうか(それともVBScriptで実装することは無理なのでしょうか) 以上について知っていらっしゃる方いらっしゃいましたら 教えていただけないでしょうか。 大変お手数をお掛けいたしますが宜しくお願い致します。 【作成したスクリプト】(Xの部分が分かりません) ---------------------------------------------------------------------------- : 'フォルダがあるかどうか確認 If (fso.FolderExists("x:\xxx\file2")) Then MsgBox "フォルダがあります" Else MsgBox "フォルダがありません" End If ------------------------------------------------------------------------

  • ファイルの削除について

    あるフォルダ内の ファイルを削除するのに (1)unlinkを使用する (2)1つのファイルであれば unlink<abc.txt>でいい (3)テキストファイルを全部消すのであれば unlink<*.txt>でいい というところまでは わかっています ですが たとえば フォルダ内に abc1011.txt abc1012.txt abd1011.txt abd1012.txt abe1011.txt abe1012.txt abf1011.txt abf1012.txt のような ファイルがあり 1012を含むものだけ削除したい という場合はどのようにすればいいのでしょうか

    • ベストアンサー
    • Perl
  • VBScript フォルダ以下からファイルの検索、コピー

    VBScriptはまったくの初心者ですので、自分なりに調べてはみたのです がどうしてもわからなかったため質問しています。 OSはWinXPになります。 VBScriptで特定のフォルダ(C:\AAA\)以下からファイル(*.txt)を検索し てコピーするプログラムを書きたいです。 C:\AAA\・・・\*.txt 指定したフォルダからファイルを検索をすることはできたのですが、サ ブフォルダがたくさんある場合のファイル検索ができませんでした。 コピーの仕方は検索したファイルから最新のタイムスタンプのファイル以外を別フォルダにコピーしたいです。 あとわかりやすいVBScriptについて記載されているサイトも教えていただけると助かります。

  • Vistaの検索結果をフルパスで並べ替える方法

    たとえば、Cドライブに「filename.txt」が3個あるとします。  c:\abc\01\filename.txt  c:\abc\02\filename.txt  c:\xyz\01\filename.txt これを検索して、フォルダで並べ替えると、  filename.txt  01(c:\abc\)  filename.txt  01(c:\xyz\)  filename.txt  02(c:\abc\) になってしまいます。 これをフルパスで並べ替える方法はないでしょうか。  filename.txt  01(c:\abc\)  filename.txt  02(c:\abc\)  filename.txt  01(c:\xyz\) どなたかお詳しい方がいらっしゃればお教えください。 よろしくお願いいたします。

  • バッチでファイル内の文字を判断してそのファイルを削除したい

    例として ABC.TXTの中にXYZという文字があれば、 ABC.TXTそのものを削除するということをしたいのですが、 どうすれば宜しいでしょうか。