簡體   English   中英

從 64 位進程中獲取來自 SYSWOW64 的文件列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM