2017-05-16 7 views
-4

私は、以下に述べるセッションIDのような内容のテキストファイルを持っています。これはn個の数字にすることができます。連結/マージ/結合/追加コンテンツが正しく動作しない

 
session1 
Session2 
Session3 
. 
. 
Session n 

上記のセッションIDを使用することで、コマンドを生成して実行し、別のファイルで出力を抽出する必要があります。

 

    omnidb -session session1 -detail | findstr "Object" 
    omnidb -session session2 -detail | findstr "Object" 
    omnidb -session sessionn -detail | findstr "Object" 

PowerShellで作成したテキストファイルcontenetを使用してスクリプトを作成し、コマンドを起動させてください。 更新 Joinのような多くのパラメータを試しました&連結しましたが、希望の出力が得られませんでした。スクリプトの下で私が使用したが動作しません。

 

    $line1= get-content C:\line1.txt $line2= get-content C:\line2.txt 
    $linesession= get-content C:\sesopt0.txt 
    $($line1," ",$linesession," ",$line2) | Set-Content C:\sesopt1.txt 

このパラメータを使用すると、次のような出力が得られます。

omnidb -session 
session1 
session2 
session3 
. 
session n 
-detail | findstr "Object" 

これは予期しないものです。ファイルを使用して1行のコマンドを実行し、出力を生成する必要があります。あなたの専門家の意見を提供してください。事前に感謝 更新 ちょうど私はコンソールで出力を生成するが、ファイルに送信しないので、私はコマンドを実行し、出力を生成するためにそのファイルを使用することができます。

foreach ($server in (Get-Content C:\sesopt1.txt)) 
{ write-host "omnidb -session $server -detail | findstr 'Object'" > C:\sesopt2.txt } 

ありがとうございます。

+5

何を試しましたか?期待どおりに動作しないのは何ですか?どのように正確に*期待どおりに動作しませんか?エラーが出ていますか?彼らは何を言いますか? –

+0

Join&Concatenateのようなパラメータをたくさん試しましたが、希望の出力が得られませんでした。スクリプトの下で私が使用したが動作しません。 $ line1 =取得コンテンツC:\ line1.txt $ line2 =取得コンテンツC:\ line2.txt $ linesession = get-content C:\ sesopt0.txt $($ line1、 ""、$ linesession、 ""、$ line2)|セットコンテンツC:\ sesopt1.txt このパラメータを使用すると、私は次のような出力を得ています。 omnidb -session session1 session2 session3 。 ; セッションn -detail | findstr "Object" これは期待されていません。ファイルを使用して1行のコマンドを実行し、出力を生成する必要があります。あなたの専門家の意見を提供してください。ありがとうございます。 –

+0

あなたの質問を編集してください。コメントのコードは読めません。 –

答えて

0

ビンゴ!

私は自己を試み、結果を見つけました。みんな、ありがとう。

$seopt2= Get-Content C:\sesopt1.txt 
$line2= Get-Content C:\line2.txt 
$result=foreach ($server in $seopt2) 
{ Write-Output "omnidb -session $server $line2" } 
$result | Set-Content C:\sesopt2.bat 
+0

ありがとう、それは働いた! –

関連する問題