2017-04-18 5 views
0

次のWindowsコマンドの出力の最初の4文字をキャプチャしようとしています。Windowsコマンドラインの最初の4文字を変数に出力する

nltest /server:%COMPUTERNAME% /dsgetsite 

正常になり返されるもの:私はfor /Fコマンドを使用してみましたが、何であるかの最初の4つの文字を除いて他のすべてを削除する方法を見つけ出すように見えることはできません

SITEAdSiteName 
This command completed successfully. 

戻ってきた。

私はfor /Fを使用してこれを達成する最良の方法ではないかもしれないと思っています。

私はこれを多くの人がどのように達成するかについての他の提案はありますか?

私の挑戦は、区切り文字を任意の文字にすることを定義している(またはしていない)と思いますが、私は*を試しましたが、私のためにそれをするようには見えませんでした。

私はこれを使用

for /F "tokens=1-4 delims=*" %A in ('nltest /server:%COMPUTERNAME% /dsgetsite') DO echo %A 

私は両方の出力ライン、ソートのここに困惑を取得します。

+0

を使用します。プロンプトから直接コマンドを使用することを強くお勧めしますか、バッチを探していますかファイル?最初の行、最後の行、またはすべての行の最初の4文字だけが必要ですか? – Magoo

答えて

2

次のコマンドライン(バッチファイルでこれを使用する%%F代わりに%Fを使用)を使用し、可変LINEnltest /server:%COMPUTERNAME% /DSGETSITEの出力の最初の行を格納する:戻るに

set "LINE=" & for /F %F in ('nltest /server:%COMPUTERNAME% /DSGETSITE') do if not defined LINE set "LINE=%F" 

を最初の4文字は、sub-string expansion

set "LINE=%LINE:~,4%" 
echo %LINE% 
関連する問題