Command line 7z命令行中的跨平台感叹号

Command line 7z命令行中的跨平台感叹号,command-line,cross-platform,Command Line,Cross Platform,我的脚本需要使用以下命令: `{archiver_path}7za a -xr!*.tmp myarchive.7z myfolder` 它需要在windows和linux上运行 在linux上,它会崩溃并显示“未找到事件”消息,因此我将其修改为: `{archiver_path}7za a -xr\!*.tmp myarchive.7z myfolder` 但如果我在windows系统上运行它,它可能不会以这种方式工作 如果没有,是否有可能以某种方式使其跨平台 更新:我正在尝试找出是否可以

我的脚本需要使用以下命令:

`{archiver_path}7za a -xr!*.tmp myarchive.7z myfolder`
它需要在windows和linux上运行

在linux上,它会崩溃并显示“未找到事件”消息,因此我将其修改为:

`{archiver_path}7za a -xr\!*.tmp myarchive.7z myfolder`
但如果我在windows系统上运行它,它可能不会以这种方式工作

如果没有,是否有可能以某种方式使其跨平台


更新:我正在尝试找出是否可以在不检查脚本语言所使用的平台的情况下执行此操作。

我建议检查此链接: 然后像这样做

if(system="WIN_32")
{
    `{archiver_path}7za a -xr!*.tmp myarchive.7z myfolder`
}
if(system="LINUX")
{
    `{archiver_path}7za a -xr\!*.tmp myarchive.7z myfolder`
}

顺便说一句,这不是真正的代码P这只是一个例子:D

是的,我知道我可以做到,但我在想,也许有某种命令行技巧,这样我就不必……]使用
的shell
作为语法元素,允许您关闭该处理或使用其他内容重新定义该元素,以便!没有任何效果。现在还不能确定你是否能利用像
set no这样的功能!处理将在windows中不可见的
。我认为从长远来看,以上是你最好的选择,但是使用
if。。如果。。。其他的endif
测试(最终else条款适用于非计划的for情况)。祝大家好运。