![](/img/trans.png)
[英]Why is chocolatey trying to insll to C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules
[英]Get list of files from SYSWOW64 from 64 bit process
我在編寫 powershell 腳本時遇到了問題。 我應該將 3 個 .dll 文件從 poweshell 64 位進程復制到 C:\\Windows\\SYSWOW64 文件夾。 如果我使用環境變量
$systemFolder = [System.Environment]::SystemDirectory
所以,在 64 位系統上的 64 位進程下
$systemFolder = "C:\Windows\system32"
是任何環境變量或某種結構來訪問 SYSWOW64 文件夾。 我想出了這樣的解決方案,但我認為還有更正確的解決方案
$targetFolder = [System.Environment]::SystemDirectory
if([Environment]::Is64BitProcess){
$targetFolder = "$env:windir\SYSWOW64"
}
非常感謝
我認為該解決方案沒有問題,但您的另一個選擇可能是在 32 位進程中運行您的腳本,您可以通過使用Start-Job和 RunAs32 參數作為作業運行來完成此操作。
Start-Job -ScriptBlock {[Environment]::Is64BitProcess} -RunAs32 | Wait-Job | Receive-Job
False
Start-Job -ScriptBlock {[Environment]::Is64BitProcess} | Wait-Job | Receive-Job
True
另一種選擇是使用Environment.SpecialFolder
[Environment]::GetFolderPath([System.Environment+SpecialFolder]::SystemX86)
C:\WINDOWS\SysWOW64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.