如何在Powershell和7zip中正确设置路径?

如何在Powershell和7zip中正确设置路径?,powershell,7zip,Powershell,7zip,我有一个Powershell脚本,可以通过7zip创建自解压归档。但它收到了这个错误: 找不到指定的SFX模块 Powershell代码为: set-alias sz "$env:ProgramFiles\7-Zip\7z.exe sz a -t7z -sfx -ppassword $fullpath $filetostore 这两个变量都是有效的。我尝试了-sfx和-sfx7z.sfx,同样的错误。7z.sfx文件确实位于带有7zip的正确文件夹中。我还可以验证别名是否正常工作,因为运行代码

我有一个Powershell脚本,可以通过7zip创建自解压归档。但它收到了这个错误:

找不到指定的SFX模块

Powershell代码为:

set-alias sz "$env:ProgramFiles\7-Zip\7z.exe
sz a -t7z -sfx -ppassword $fullpath $filetostore
这两个变量都是有效的。我尝试了
-sfx
-sfx7z.sfx
,同样的错误。7z.sfx文件确实位于带有7zip的正确文件夹中。我还可以验证别名是否正常工作,因为运行代码时会显示7zip版权(因此7zip命令行正在启动)。此命令在Powershell外部工作


我也尝试
将位置设置到7zip文件夹中,但出现了相同的错误。我遗漏了什么?

似乎您应该将7-zip文件夹添加到
路径
环境变量中,以简化操作:

#find the 7-zip folder path
$7zPath = (Get-ChildItem "C:\Program Files","C:\Program Files (x86)" -Include "7-zip" -Recurse -ErrorAction SilentlyContinue).FullName

#add it to PATH environment variable
$env:Path += ";$7zPath;"

然后,您可以运行
7z-sfx
,而
sfx
模块不会出现任何错误。

似乎您应该将7-zip文件夹添加到
PATH
环境变量中,以简化操作:

#find the 7-zip folder path
$7zPath = (Get-ChildItem "C:\Program Files","C:\Program Files (x86)" -Include "7-zip" -Recurse -ErrorAction SilentlyContinue).FullName

#add it to PATH environment variable
$env:Path += ";$7zPath;"

然后您可以运行
7z-sfx
,而不会出现有关
sfx
模块的错误。

这是一个命令吗?您的
7z.exe
命令是否在
Set Alias
之外工作?我会用双引号将所有变量括起来以防止空格出现:
set alias sz”“”$env:ProgramFiles\7-Zip\7z.exe”“sz a-t7z-sfx-ppassword”“$fullpath”“$filetostore”“”
@BACON这是两行,双引号似乎破坏了脚本`设置位置:找不到接受参数C:\Program Files\7-zip`的位置参数。请提供您正在运行的确切代码及其产生的确切输出。这是一个命令吗?您的
7z.exe
命令是否在
Set Alias
之外工作?我会用双引号将所有变量括起来以防止空格出现:
set alias sz”“”$env:ProgramFiles\7-Zip\7z.exe”“sz a-t7z-sfx-ppassword”“$fullpath”“$filetostore”“”
@BACON这是两行,双引号似乎破坏了脚本`设置位置:找不到接受参数C:\Program Files\7-zip`的位置参数。请提供您正在运行的确切代码及其产生的确切输出。