
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- UNIX・Linux jsLinuxのコマンドについて。 aliasを使い、必ず削除前に確認メッセージを表示するコマンドを 1 2022/07/25 18:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- ネットワーク コマンドプロンプトで、コマンドの飛ばし方を教えてください。 ネットワークにデータを飛ばす(copy) 4 2022/10/19 11:21
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vlan internal allocation poli...
-
YAHAMA RTXシリーズのコマンド...
-
teratarmでコマンド入力すると...
-
NETBIOSドメイン名の変更について
-
WindowsからSSHでサーバーにあ...
-
CPコマンドでファイルがコピー...
-
Ciscoルーター 対向機器のIPア...
-
onedriveで同期解除をしたら、...
-
USBデータの消失
-
共有しているファイルを削除し...
-
C# PictureBox + panelでのスク...
-
【VC++】CDC→WMFファイルに保存...
-
移動先にないファイルのみをコ...
-
USB内のフォルダが「ファイル」...
-
TXTファイルを上書き保存する前...
-
マイドキュメントのフォルダの...
-
Excel VBAで作成したマクロをxl...
-
読み取り専用ファイルを上書き...
-
フォルダの上書きで、上書きさ...
-
Dドライブ中の【Program Files...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vlan internal allocation poli...
-
WindowsからSSHでサーバーにあ...
-
teratarmでコマンド入力すると...
-
YAHAMA RTXシリーズのコマンド...
-
バッチファイルでファイル移動...
-
CPコマンドでファイルがコピー...
-
IBMメインフレームのFTP 文字コ...
-
NETBIOSドメイン名の変更について
-
Ciscoルーター 対向機器のIPア...
-
nslookupを5分おきに実行するバ...
-
expectでコマンド実行結果を変...
-
Tera Term マクロのexac について
-
linuxのmailコマンドの文字化け...
-
バッチファイルの変数引継ぎに...
-
FTPサイト上で圧縮ファイルを解...
-
Solarisでのgrepについて
-
アナログモデム送出レベル調整
-
NASからNASへの自動バックアッ...
-
HP-UXのlsコマンドで日時書式を...
-
windows7でbootsectが使えない
おすすめ情報