• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBscriptでディレクトリ一覧ファイルを抽出したい。)

VBscriptでディレクトリ一覧ファイルを抽出する方法について

BLUEPIXYの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>何日前のとか何年前の文字列を抽出する方法がわからないです。 "d:\temp\0001\デイリー\aaa\2006年06月 のディレクトリ" から2006 と06 を取り出すということですか?

taffy001
質問者

補足

BLUEPIXYさん。 こんにちは。 ご回答いただき有難うございました。 取り出したい文字列ですが、例では下記になります。 ■DOSで出力したディレクトリ一覧.txtの内容 C:\temp\aaa\デイリー\12345\2006年03月 のディレクトリ C:\temp\bbb\デイリー\6789a\2006年07月 のディレクトリ C:\temp\aaa\マンスリー\12345\2001年03月 のディレクトリ C:\temp\bbb\マンスリー\6789a\2001年07月 のディレクトリ ■VBscriptにてディレクトリ一覧.txtから抽出したい文字列。 ※条件 (1)デイリーは現在日付よりも2ケ月前を対象。 (2)マンスリーは現在日付よりも2年前を対象 アウトプットしたいテキストファイル内は次のようになります。 C:\temp\aaa\デイリー\12345\2006年03月 のディレクトリ C:\temp\aaa\マンスリー\12345\2001年03月 のディレクトリ C:\temp\bbb\マンスリー\6789a\2001年07月 のディレクトリ InStr関数を使えばいいのでしょうか? ロジックが初心者で全く書けません。。 頭から3つ目の「\」でデイリー対象を挙げて、 次に頭から5つ目の「\」で日付を挙げる。 その日付が現在日付よりも2ケ月前のフォルダ対象かを比較する。 私のイメージです。。 間違っているかもしれませんが、頭を抱えています。。 宜しくご教授お願いいたします。 ご返答、本当に有難うございました。

関連するQ&A

  • バッチファイルで一つのファイルをdirで比較し分岐

    バッチファイルでフォルダにある全てのファイルに対し ファイルごとにdir /T:Cとdir /T:Wで比較し 同じならば削除 異なれば何もしない 処理をしたく質問させて頂きました 次のような結果の場合日時が同じなのでファイルを削除する C:\>dir D:\AAA\001.jpg /T:C ドライブ D のボリューム ラベルは microSD です ボリューム シリアル番号は E484-83B8 です D:\AAA のディレクトリ 2012/11/28 12:59 1,284 001.jpg 1 個のファイル 1,284 バイト 0 個のディレクトリ 24,690,798,592 バイトの空き領域 C:\>dir D:\AAA\001.jpg /T:W ドライブ D のボリューム ラベルは microSD です ボリューム シリアル番号は E484-83B8 です D:\AAA のディレクトリ 2012/11/28 12:59 1,284 001.jpg 1 個のファイル 1,284 バイト 0 個のディレクトリ 24,690,798,592 バイトの空き領域 日時が異なるので何もしない C:\>dir D:\AAA\002.jpg /T:C ドライブ D のボリューム ラベルは microSD です ボリューム シリアル番号は E484-83B8 です D:\AAA のディレクトリ 2012/11/07 03:12 1,443,326 002.jpg 1 個のファイル 1,443,326 バイト 0 個のディレクトリ 24,690,798,592 バイトの空き領域 C:\>dir D:\AAA\002.jpg /T:W ドライブ D のボリューム ラベルは microSD です ボリューム シリアル番号は E484-83B8 です D:\AAA のディレクトリ 2012/11/04 17:53 1,443,326 002.jpg 1 個のファイル 1,443,326 バイト 0 個のディレクトリ 24,690,798,592 バイトの空き領域 またもっと簡単にdir D:\AAA /T:Cとdir D:\AAA /T:Wの結果で 分岐処理は可能でしょうか よろしくお願いします

  • Excel VBA サブディレクトリの取得について

    Excel VBA についての質問です。 私は、VBAの初心者です。 フォルダ選択ダイアログを開き、あるフォルダを選択させます。 選択したフォルダ配下のファイルとサブフォルダにあるファイル一覧とそのファイルのパス取得したいです。 【例】D:\TEMP\AAA フォルダを選択 D:\TEMP\AAA  D:\TEMP\AAA\BBB\CCC.txt D:\TEMP\AAA\BBB\DDD\EEE.txt D:\TEMP\AAA\BBB\DDD\FFF.txt GGG.txt が存在する。 まず、フォルダAAAまで選択されたら、 以下の結果がエクセルに出力したいです。 BBB         CCC.txt BBB\DDD        EEE.txt BBB\DDD        FFF.txt               GGG.txt うまく伝えないかもしれないですが、ご教授お願いいたします。

  • 親ディレクトリの更新日付を更新せずにファイルを削除するには

    親ディレクトリの更新日付を更新せずにファイルを削除するには 例えば、以下のディレクトリ構成で「aaa.txt」を削除しても親ディレクトリである「AAA」の更新日付が変更されない方法はありますでしょうか? なお、実装はRHEL5上でのBashスクリプトになります。 /home/hoge/AAA/ => 2010/10/01 06:30:00 /home/hoge/AAA/aaa.txt => 2010/10/01 06:30:00 2010/10/03 12:30:00に以下のコマンドを発行 rm /home/hoge/AAA/aaa.txt /home/hoge/AAA/ => 2010/10/03 12:30:00 に更新されてしまいます。 => 2010/10/01 06:30:00 を保持していたいのです。 できればコマンドのみで解決したいと思っています。 コマンド単体で無理なら、rmで削除する前にディレクトリ情報を一時ファイルへ書き出すしかないと思っています。 以上、よろしくお願いします。

  • ファイル一覧が見たい。

    UNIX系、Solaris、Linuxどちらの場合もあるのですが、 Apacheの公開ディレクトリのファイル一覧を見たいのです。 lsで見るのも、いちいち手間がかかるので、 Windowsのエクスプローラーの様な形式で見られるソフトで、尚且つファイルのパーミッションも全て見えるというのが理想ですが、 理想まで行かなくても、 ファイルの一覧をパッと、ツリー形式で見れるソフトは無いですか? windowsから、ログインして、一覧を抜き出すとか。 linux内で、textに書き出すとか。 どなたか教えて下さい。

  • ディレクトリ一覧作成の高速化

    UNIXで / 配下のディレクトリ一覧をファイル出力することになりました。 今は # find / -type d > /tmp/hoge.txt としてますが、/ 配下のファイル数(ディレクトリも含む)が30万以上もあるため、 一覧を出力するだけで非常に時間がかかります。 ディスクは1マシン辺り30本程ついています。 (この規模のマシンが50台くらい) 後の方法は、ls でドバーっと出力して後からディレクトリだけを抽出する、という 感じくらいかなと思うのですが、もっと早く出力する方法があれば教えてください。 よろしくお願いします。

  • WSHファイルからFTPを利用してダウンロードする

    batファイル,もしくはWSHファイルを使用してのFTPサーバからのファイルダウンロードを行う際の記述方法について質問致します。 行いたいことはFTPサーバ側に日毎のディレクトリが作成され その中に格納されるテキストファイルを自動でローカルの指定ディレクトリに上書きする手順になります。 WSHに関しては全くの素人なので非常に苦戦しております… FTPサーバ側 /@day/*.txt @dayには本日の日付が2桁で入ります。 1月1日なら01、2月23日なら23 Local保存側 D:\temp お手すきの時にでもご教授頂ければ幸いです。

  • コマンドプロンプトでディレクトリ内のファイル一覧をテキストファイルに書き出す

    コマンドプロンプトでディレクトリ内のファイル一覧をテキストファイルに書き出す事が出来たはずなのですが、方法を忘れてしまいました。 例えば dir Aフォルダ 内に 1.gif 2.jpeg 3.eps が入っている場合にコマンドプロンプトにて -------- 1.gif 2.jpeg 3.eps -------- という内要のテキストファイルを作成したいのです。 上記のように3点しかないものなら自力で作成するのですが 5000点ほどある為手作業ではしんどいです。 できれば純粋なファイル名(拡張子なし)で実現できればいいのですが、それが無理なら後はテキスト処理で対応しようと考えています。 識者の方よろしくお願いします。

  • ディレクトリー内のファイル名へのアクセス

    Windows10を使っています。 ファイルエクスプローラーを使ってあるディレクトリーをオープンした時に表示されるファイル名一覧を、テキストとして任意の場所にセーブする方法はありませんか? ご存知の方がいらっしゃいましたら、どうか教えてください。お願いします。

  • VBScriptで削除処理

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

  • バッチファイルでのファイル一覧取得

    初心者です。初めてバッチファイルを作成しようと考えていますが、作成方法がわかりません。 環境はWindwsです。 C:\BディレクトリにAというフォルダがありその中に複数のテキストファイルが保存されています。 そのファイルの一覧をBディレクトリ直下のfile_name.txtへ書き込みたいのですが、dirコマンドでファイルの一覧が取得できるのはわかったのですが、ディレクトリ移動してファイルを書き込む方法がわからず困っています。 更にAフォルダには毎日違うテキストファイルが保存されるため、次回バッチを起動した際にはfile_name.txtの中身をクリアして新規に書き込みをしたいと考えています。 初心者で質問内容に不備があるかもしれませんが、ご教授お願いします。