20

次のバッチ ファイルを実行して、デバイスへの telnet セッションを確立し、デバイスから取得した情報を保持するファイルを作成します。

CD\
COLOR 0E
CLS
@echo off
ECHO This will start the connection to the Heraeus QuicK-Lab DATACAST ENtouch. 
pause
telnet 172.17.0.16 4224 -f C:\LogFiles\Datacast.log

telnet セッションが確立されたら、コードの最後の行で指定されているように、Datacast.log にデータをダンプするコマンドを入力します。コマンド (「M3,1,999」など) を何らかの形でバッチ ファイルに含めたいと考えていますが、同様の例が見つかりません。

バッチファイルでこれを行うことは可能ですか?

4

5 に答える 5

42

たぶん、このようなものですか?

telnet に接続するためのバッチを作成し、スクリプトを実行してコマンドを発行しますか? ソース

バッチ ファイル (名前は Script.bat ):

     :: Open a Telnet window
   start telnet.exe 192.168.1.1
   :: Run the script 
    cscript SendKeys.vbs 

コマンド ファイル (名前は SendKeys.vbs ):

set OBJECT=WScript.CreateObject("WScript.Shell")
WScript.sleep 50 
OBJECT.SendKeys "mylogin{ENTER}" 
WScript.sleep 50 
OBJECT.SendKeys "mypassword{ENTER}"
WScript.sleep 50 
OBJECT.SendKeys " cd /var/tmp{ENTER}" 
WScript.sleep 50 
OBJECT.SendKeys " rm log_web_activity{ENTER}" 
WScript.sleep 50 
OBJECT.SendKeys " ln -s /dev/null log_web_activity{ENTER}" 
WScript.sleep 50 
OBJECT.SendKeys "exit{ENTER}" 
WScript.sleep 50 
OBJECT.SendKeys " "
于 2012-11-02T17:50:12.720 に答える
5

この質問に対する別の回答に示されているように、 Microsofttelnet.exeは別のスクリプト (キーボード フォーカスが必要) を使用しないとスクリプト化できませんが、無料のスクリプトがあります。

Telnet Scripting Tool v.1.0 by Albert Yale

Google で検索でき、スクリプト化とログ記録が可能で、キーボード フォーカスを必要とせずにバッチ ファイルから起動できます。

キーボード フォーカスが使用されている場合の telnet.exe と 2 番目のスクリプトの問題は、スクリプトの実行時に誰かがコンピューターを使用している場合、マウス クリックとキーボードの使用が原因でスクリプトが失敗する可能性が高いことです。瞬間。

于 2014-07-06T13:53:11.740 に答える
2

サーバーに telnet で接続し、ファイルのアクセス許可を変更する方法を見つけました。次に、ファイルをコンピュータに FTP で戻し、開きます。これがあなたの質問に答え、FTP にも役立つことを願っています。

ファイルパス変数が設定されているため、常に同じディレクトリにログインして cd します。ユーザーが手動で入力できるようにプロンプ​​トに変更できます。

:: This will telnet to the server, change the permissions, 
:: download the file, and then open it from your PC. 

:: Add your username, password, servername, and file path to the file.
:: I have not tested the server name with an IP address.

:: Note - telnetcmd.dat and ftpcmd.dat are temp files used to hold commands

@echo off
SET username=
SET password=
SET servername=
SET filepath=

set /p id="Enter the file name: " %=%

echo user %username%> telnetcmd.dat
echo %password%>> telnetcmd.dat
echo cd %filepath%>> telnetcmd.dat
echo SITE chmod 777 %id%>> telnetcmd.dat
echo exit>> telnetcmd.dat
telnet %servername% < telnetcmd.dat


echo user %username%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo cd %filepath%>> ftpcmd.dat
echo get %id%>> ftpcmd.dat
echo quit>> ftpcmd.dat

ftp -n -s:ftpcmd.dat %servername%
del ftpcmd.dat
del telnetcmd.dat
于 2013-04-10T16:36:29.793 に答える
0

まず、注意事項です。なぜtelnetを使いたいのですか?telnet は古いプロトコルであり、安全ではなく、リモート アクセスには実用的ではありません。(ほぼ)完全にsshに置き換えられました。

あなたの質問に答えるために、それは異なります。使用する telnet クライアントによって異なります。Microsoft telnet を使用している場合は、できません。Microsoft telnet には、バッチ ファイルまたはコマンド ラインからコマンドを送信する手段がありません。

于 2012-11-02T17:41:39.017 に答える
0

これは古いですが、他の誰かが私と同じようにつまずくかもしれません。DataCast に接続すると、データベースにアクセスできるデーモンと通信します。顧客がデータベースにアクセスして結果をどこかに保存するためのコードを書くことを意図していました。telnet が手動でデータにアクセスするように機能するのはたまたまです。netcat も動作するはずです。ssh は明らかにそうしません。

于 2014-10-30T15:48:16.053 に答える