![](/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.