繁体   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