Mindでのプログラミングにだいぶ慣れてきました。前回掲載した練習プログラムも 実用レベルになりましたので、再掲載します。日常使いしています。
※ which.src -- 環境変数PATHに設定されたディレクトリを辿って指定されたファイルを探す。 ※ 見つからない時は、何も表示しない。 ※ ファイル名が'\'で始まる場合、'\'を無視する。 フルパス名文字列は 文字列実体 長さ 64。 元パス文字列は 文字列実体 長さ 128。 使い方表示とは "使い方: WHICH ファイル名"を 表示し 改行すること。 メインとは ファイル名文字列は 文字列 起動パラメータを ファイル名文字列に 入れ ファイル名文字列が 空列? ならば 使い方表示し 終り つぎに ファイル名文字列の 左端文字が '\'と 等しい ならば 1だけ ファイル名文字列から 切り出し つぎに "PATH="で 環境変数の検索し 環境変数を 元パス文字列に 入れ 1だけ 元パス文字列を 右側取り出し ";"と 等しい文字列 でなければ 元パス文字列に ';'を 一文字追加し つぎに ここから 元パス文字列が 空列? ならば 打ち切り つぎに 元パス文字列から ';'を 一文字検索 元パス文字列を 分断し フルパス名文字列に 入れ 1だけ フルパス名文字列を 右側取り出し "\"と 等しい文字列 でなければ '\'を フルパス名文字列に 一文字追加し つぎに ファイル名文字列を フルパス名文字列に 追加し フルパス名文字列 ファイル有り? ならば フルパス名文字列を 大文字変換し フルパス名文字列を 表示し 改行し 打ち切り つぎに 繰り返す。このほかに、バッチファイルで使用するプログラムを2本作りました。バッチプログラムを組んでいると、 処理が終わった後に、現在のディレクトリ戻ってくるようにしたくなるときがあります。この様なときに 使用する小品です。一つは、現在のディレクトリを保存する"pushcdir.src"、保存したディレクトリに 移動する"popcdir.src"です。いずれもシンプルな物ですが、結構使い勝手があります。
まずは、"pushcdir.src"から。現在のディレクトリを取得してファイルに保存するだけです。
※ pushcdir.src -- 現行ドライブの現行ディレクトリを"C:\$$CDIR$$.TXT"に書き出す。 現行ディレクトリは 文字列実体 長さ 64。 現行ディレクトリ保管先は ファイル。 メインとは カレントドライブを 現行ディレクトリに 一文字追加し 現行ディレクトリに ':'を 一文字追加し カレントドライブの 指定ドライブのカレントディレクトリを 現行ディレクトリに 追加し "C:\$$CDIR$$.TXT"で 現行ディレクトリ保管先を 新規オープンし 現行ディレクトリを 現行ディレクトリ保管先に 一行書き込み 現行ディレクトリ保管先を クローズする。
"popcdir.src"はこの様になっています。
※ popcdir.src -- "$$CDIR$$.TXT"ファイルから復元するディレクトリーを読みだし、 ※ 現行ディレクトリーを変更する。 復元ディレクトリ保管先は ファイル。 メインとは 復元ディレクトリは 文字列 "C:\$$CDIR$$.TXT"で 復元ディレクトリ保管先を オープンし 復元ディレクトリ保管先から 一行読み出し 復元ディレクトリ保管先を クローズし 読み出し文字列を 復元ディレクトリに 入れ 復元ディレクトリ 0を 指定ドライブにカレントディレクトリ設定する。
この様にしてバッチファイルの中で使用します。
@echo off pushcdir chdir \directory1 JOOB1 chdir \directory2 JOB2 popcdir @echo on
セコメントをする