我正在嘗試從 PHP 更改默認(rèn)打印機(jī)紙張尺寸索引.php<?php$printer = Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "(Get-WmiObject win32_printer | Where-Object Default -eq $True).Name"');$printer = substr($printer, 0, -1);$printer = '"' . $printer . '"';$cmd = ('powershell.exe -executionpolicy bypass -NoProfile -Command ../A5.ps1 ' .$printer);echo shell_exec($cmd);?>A5.ps1$printer=$args[0]Set-PrintConfiguration -PrinterName $printer -PaperSize A5錯(cuò)誤Set-PrintConfiguration : The specified printer was not found. At C:\Users\t4taa\Desktop\phpdesktop\A5.ps1:2 char:1 + Set-PrintConfiguration -PrinterName $printer -PaperSize A5 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MSFT_PrinterConfiguration:ROOT/StandardCi...erConfiguration) [Set-PrintCo nfiguration], CimException + FullyQualifiedErrorId : HRESULT 0x80070709,Set-PrintConfiguration當(dāng)我從 PowerShell 運(yùn)行腳本文件時(shí)工作正常,但從 PHP 運(yùn)行腳本文件時(shí),它拒絕獲取打印機(jī)名稱(chēng)或錯(cuò)過(guò)雙引號(hào),如何解決此問(wèn)題。
1 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
為什么不A5.ps1改成
$printer = (Get-WmiObject win32_Printer | Where-Object { $_.Default -eq $true }).Name
Set-PrintConfiguration -PrinterName $printer -PaperSize A5
讓 powershell 找出默認(rèn)打印機(jī)名稱(chēng)并設(shè)置紙張尺寸。
這樣你就可以在index.php:
<?php
$cmd = ('powershell.exe -ExecutionPolicy Bypass -NoProfile -File ../A5.ps1');
echo shell_exec($cmd);
?>
使用-File
而不是-Command
- 1 回答
- 0 關(guān)注
- 173 瀏覽
添加回答
舉報(bào)
0/150
提交
取消