Powershell中的7zip一直在说;“开关太长”;或;“开关太短”;
使用此脚本尝试了多种组合,使用7zip将大量文件压缩到单个文件中,但我不断遇到错误Powershell中的7zip一直在说;“开关太长”;或;“开关太短”;,powershell,7zip,Powershell,7zip,使用此脚本尝试了多种组合,使用7zip将大量文件压缩到单个文件中,但我不断遇到错误 Get-ChildItem *.smc | ForEach-Object { 7z a -yx9 -x9 "$_.Name+.7z" $_.Name } 不断地提出“开关太长”或“开关太短”。这里发生了什么?您的命令有两个不同的问题: 您在“…”中错误地嵌入了属性访问$.Name:您必须使用“$($.Name)+.7z”-请注意使用$(…) 简而言之:为了将表达式嵌入可扩展字符串(“…”
Get-ChildItem *.smc | ForEach-Object { 7z a -yx9 -x9 "$_.Name+.7z" $_.Name }
不断地提出“开关太长”或“开关太短”。这里发生了什么?您的命令有两个不同的问题:
- 您在
中错误地嵌入了属性访问“…”
:您必须使用$.Name
-请注意使用“$($.Name)+.7z”
$(…)
- 简而言之:为了将表达式嵌入可扩展字符串(
),必须将它们括在“…”
中。值得注意的是,这包括属性和索引访问(例如,$(…)
,$($var.property)
)。只有作为一个整体的变量不需要这样做(例如,$($var[0])
,$var
)。有关更多信息,请参阅$env:USERNAME
- 简而言之:为了将表达式嵌入可扩展字符串(
- 您的选项用于指定文件分析级别和压缩级别,这意味着它们必须作为选项参数传递给
- 因此,请使用
-myx9-mx9
- 因此,请使用
- 您在
中错误地嵌入了属性访问“…”
:您必须使用$.Name
-请注意使用“$($.Name)+.7z”
$(…)
- 简而言之:为了将表达式嵌入可扩展字符串(
),必须将它们括在“…”
中。值得注意的是,这包括属性和索引访问(例如,$(…)
,$($var.property)
)。只有作为一个整体的变量不需要这样做(例如,$($var[0])
,$var
)。有关更多信息,请参阅$env:USERNAME
- 简而言之:为了将表达式嵌入可扩展字符串(
- 您的选项用于指定文件分析级别和压缩级别,这意味着它们必须作为选项参数传递给
- 因此,请使用
-myx9-mx9
- 因此,请使用