teratermマクロを使い、機器の状態を取得しログに残すというマクロを作成しています。
マクロの大まかな流れは、
strconcat CURRENTPATH4 '\コマンド\cmd-list(CiscoSW).txt'
で投入コマンドを定義して、
機器にログイン、
定義されたコマンドを流し、
機器からログアウト、
踏み台サーバからもログアウト
logフォルダの中に自動的に情報採取ログが作成されているという流れです。
機器にログインした後に、コマンドファイルを開きたいと考えています。
exac 'notepad ..\コマンド\cmd-list(CiscoSW).txt'
としましたが、コマンドが表示されません。
notepadの後にフルパスでコマンドを記載すれば開くのは確認しましたが、
作業者によってマクロフォルダを置く場所が異なるので、それはしたくないです。
また、cmd-list(CiscoSW).txtをマクロ実行ファイルと同じフォルダに置いて、
exac 'notepad cmd-list(CiscoSW).txt'
とすれば、開くことを確認しましたが、マクロファイルとログファイルと実行コマンドは別フォルダに置いておきたいです。
notepadの後に相対パスで指定する方法を色々調べましたが分かりません。
どのようにすれば、別フォルダにあるcmd-list(CiscoSW).txtを開くことができるでしょうか?
以下にマクロの本体を記します。
浅薄な私に知恵を貸してください。
;;変数定義とディレクトリ情報取得、コマンドリスト定義
gettime logtime "_%Y%m%d_%H%M%S"
PASSWORD = 'SSSSSSSSSSSSSS'
prompt1 = '>'
prompt2 = '#'
getdir CurrentDir
CURRENTPATH1 = CurrentDir
CURRENTPATH2 = CurrentDir
CURRENTPATH3 = CurrentDir
CURRENTPATH4 = CurrentDir
strconcat CURRENTPATH4 '\コマンド\cmd-list(CiscoSW).txt'
CMDPATH = CURRENTPATH4
;;
;;
;;
;;踏み台サーバに自動ログイン
connect 'XXX.XXX.XXX.XXX:YY /nossh /T=1'
wait 'ogin:'
sendln 'UUUUUUUUUUUUUUU'
wait 'assword:'
sendln 'RRRRRRRRRRRRRRR'
sendln ' '
sendln ' '
;;
;;
;;
;;listbox表示
strdim HOSTNAME 1
HOSTNAME[0] = 'CiscoのIPアドレス'
;;
;;
;;
;; 接続先ホスト選択
listbox '接続するホストを選択して下さい' '接続ホスト選択' HOSTNAME
if result >= 0 then
HOSTADDR = HOSTNAME[result]
else
end
endif
;;
;;
;;
;;
;; 接続用コマンド組立て
send 'telnet '
send HOSTADDR
sendln ' '
;;
;;
;;
;; messagebox表示
messagebox 'このホストの状態確認開始' '状態確認コマンド開始'
;;
;;
;;
;; 流し込むコマンドの表示
exac 'notepad ..\コマンド\cmd-list(CiscoSW).txt'
;;
;;
;;
;; messagebox表示
messagebox 'このコマンドを流します' 'このコマンドを流します'
;;
;;
;;
;;これまでの作業ログを閉じます
logclose
;;
;;
;;
;;ログ取得フォルダなければ作成
strconcat CURRENTPATH1 '\log\'
foldersearch CURRENTPATH1
if result = 0 then
foldercreate CURRENTPATH1
endif
;;
;;
;;
;;ログ取得開始
LOGPATH = CURRENTPATH1
strconcat LOGPATH '状態確認_'
strconcat LOGPATH HOSTADDR
strconcat LOGPATH logtime
strconcat LOGPATH '.log'
logopen LOGPATH 0 0 0 0
;;
;;
;;
;;機器にログイン
wait 'Password:'
sendln PASSWORD
wait prompt1
sendln 'enable'
wait 'Password:'
sendln PASSWORD
wait prompt2
;;
;;
;;
;;コマンドファイルの定義
FILE = CMDPATH
;;
;;
;;
;;コマンドファイルの読み込み
fileopen parade FILE 0
while 1
filereadln parade LINE
if result = 1 break
flushrecv
sendln LINE
waitregex prompt2
endwhile
fileclose parade
;;
;;
;;
;;コマンド終了して踏み台サーバに戻る
sendln 'exit'
wait 'AAAAAAAAAAAAAAA'
sendln 'exit'
;;
;;
;;
;;ログの終了
logclose
;;
;;
;;
;; messagebox表示
messagebox '終了' '状態確認コマンド終了'
;;
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
相対パスを使うのなら、「基準となる絶対パスはどこか?」が重要です。
あなたの考えている「 ..\コマンド\cmd-list(CiscoSW).txt」の基準ディクトリはどこなのですか?
> cmd-list(CiscoSW).txtをマクロ実行ファイルと同じフォルダに置いて、
> exac 'notepad cmd-list(CiscoSW).txt'
> とすれば、開くことを確認しました
そうだとするなら、
..\コマンド\cmd-list(CiscoSW).txt は、
親フォルダ|
+マクロ実行ファイルのフォルダ\
→| マクロ実行ファイル
+「コマンド」\
→| 「cmd-list(CiscoSW).txt」
というツリー構造での cmd-list(CiscoSW).txt へのパスということになります。
(マクロ実行ファイルのフォルダ と 「コマンド」が同じ階層)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vlan internal allocation poli...
-
YAHAMA RTXシリーズのコマンド...
-
Ciscoルーター 対向機器のIPア...
-
NETBIOSドメイン名の変更について
-
teratarmでコマンド入力すると...
-
WindowsからSSHでサーバーにあ...
-
バッチファイルの変数引継ぎに...
-
HP-UXのlsコマンドで日時書式を...
-
expectでコマンド実行結果を変...
-
Windows2000 で指定した時間後...
-
バッチファイルでファイル移動...
-
SVNでの最新のリビジョン番号取...
-
実行中のコマンドを、ログアウ...
-
IBMメインフレームのFTP 文字コ...
-
Solarisでのgrepについて
-
共有しているファイルを削除し...
-
沢山のフォルダにあるファイル...
-
エクセルでファイルの最終更新...
-
USBデータの消失
-
マイドキュメントのフォルダの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vlan internal allocation poli...
-
YAHAMA RTXシリーズのコマンド...
-
teratarmでコマンド入力すると...
-
WindowsからSSHでサーバーにあ...
-
Ciscoルーター 対向機器のIPア...
-
バッチファイルでファイル移動...
-
expectでコマンド実行結果を変...
-
nslookupを5分おきに実行するバ...
-
CPコマンドでファイルがコピー...
-
IBMメインフレームのFTP 文字コ...
-
NETBIOSドメイン名の変更について
-
linuxのmailコマンドの文字化け...
-
Solarisでのgrepについて
-
一定時間経過させるコマンドは?
-
ファイルを閉じるコマンドを教...
-
バッチファイルの変数引継ぎに...
-
マイクラでコマンド使いたいの...
-
HP-UXのlsコマンドで日時書式を...
-
psコマンドで[]付きのプロセス...
-
Windows UPDateのサイトのIPア...
おすすめ情報