0

我对 Powershell 很陌生,但我正在尝试编写看起来有点复杂的脚本。我要做的是从 .csv 文件中读取电话号码、主题和文件路径,将这 3 个东西作为变量,然后运行带有变量的 .exe。这将用于我们可以向我们的客户发送传真,大约有 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 回答