【问题标题】:how to pass arguments to a batch file [duplicate]如何将参数传递给批处理文件[重复]
【发布时间】:2018-03-28 00:22:24
【问题描述】:

我有一个批处理文件来解压缩文件,压缩文件的路径和目标文件夹是硬编码的。我想将不同的 zip 文件解压缩到不同的文件夹。我不想一直编辑代码,请有人帮忙。

 @echo off
 setlocal
 cd /d %~dp0
 Call :UnZipFile "G:\tett\" "G:\test\test.zip"
 pause
 exit /b

这是我的批处理文件,这里我给出了源和目标的路径。我想将源和目标作为参数传递来运行这个批处理。提前致谢!

【问题讨论】:

    标签: windows batch-file spritebatch


    【解决方案1】:
     Call :UnZipFile "%~1" "%~2"
    

    将调用:unzipfile 例程,将两个参数传递给批处理文件,因此在提示符下,

    你的批处理文件 "parameter1" "parameter2"

    将接受这两个参数并将它们传递给:unzipfile 例程。

    如果参数包含分隔符 line Space

    ,则参数只需要“引号”

    %~1 表示“从第一个参数中删除封闭引号(如果存在)。

    我让你猜猜%~2 是什么意思...

    【讨论】:

    • 它工作正常,但是当我再次运行相同的脚本时,它会提示“文件已经存在”。如果它存在我想替换,我需要添加什么
    • 那将在您未显示的:unzipfile 子例程中。
    • 感谢@Magoo,它工作正常,但是在提取时我还想隐藏复制窗口,有没有办法使用我们的批处理脚本来隐藏它?
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 2016-07-03
    相关资源
    最近更新 更多