0

私は Powershell にまったく慣れていませんが、少し複雑なスクリプトのように見えるものを書こうとしています。私がやろうとしているのは、.csv ファイルから電話番号、件名、およびファイル パスを読み取り、これら 3 つを変数として配置し、変数を使用して .exe を実行することです。これは、クライアントに FAX を送信するために使用され、約 500 通あります。これが最も簡単な方法であるか、powershell でこれを達成できないかはわかりませんが、.exe は明らかに準備ができているようです。このシナリオで powershell スクリプトが機能するかどうかを確認する必要があります。

現在、これが私が思いついたものです。

    $FaxNumber = @()
    $Subject = @()
    $FilePath = @()

    Import-Csv C:\Users\dlappert\Documents\Test\Book1.csv |`
        ForEach-Object {
            $FaxNumber += $_.FaxNumber
            $Subject += $_.Subject
        $FilePath += $_.FilePath
        }

    If ($_.FaxNumber -contains $InputNumber)
        {
        (*ExecutableFilePath*) /s(FaxServerIpAddress) /u /p /v /o C:\_.log1 /c NO COVER PAGE /r{$_.FaxNumber} /a {$_.FilePath} /b{$_.Subject}
        {

誰でもこれを提供できる支援をいただければ幸いです。このスクリプトは、最初の 3 列を読み取り、情報の行ごとにスクリプトを実行する必要があります。これを達成するためのより簡単な方法があれば、私に知らせてください。

4

2 に答える 2

0

実際、Powershell を使用せずにこれを完了する簡単な方法を見つけました。バッチ ファイルでこれを行い、.csv ファイルをテキスト ファイルに変換すると、はるかに簡単になるようです。ただし、これも機能するようになったので、ご協力いただきありがとうございます。これが将来必要な操作である場合は、powershell スクリプトの準備が整います。私はあなたの助けに感謝します。

于 2013-06-07T12:36:11.147 に答える
0

私が見る限り、配列は必要ありません...

Import-Csv C:\Users\dlappert\Documents\Test\Book1.csv |
foreach {
    Start-Process -FilePath "executable_path" -ArgumentList "/s(FaxServerIpAddress) /u /p /v /o C:\_.log1 /c NO COVER PAGE /r$($_.FaxNumber) /a `"$($_.FilePath)`" /b$($_.Subject)" 
}
于 2013-06-06T14:23:20.977 に答える