如何将参数传递给批处理文件[重复]

Posted

技术标签:

【中文标题】如何将参数传递给批处理文件[重复]【英文标题】: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

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

【问题讨论】:

【参考方案1】:
 Call :UnZipFile "%~1" "%~2"

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

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

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

如果参数包含分隔符 line Space

,则参数只需要“引号”

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

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

【讨论】:

它工作正常,但是当我再次运行相同的脚本时,它会提示“文件已经存在”。如果它存在我想替换,我需要添加什么 那将在您未显示的:unzipfile 子例程中。 感谢@Magoo,它工作正常,但是在提取时我还想隐藏复制窗口,有没有办法使用我们的批处理脚本来隐藏它?

以上是关于如何将参数传递给批处理文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将额外的额外参数传递给批处理文件?

如何将参数传递给批处理文件?

如何将命令行参数传递给 PowerShell ps1 文件

通过批处理文件将 varchar 参数传递给 sql 文件

将参数传递给windows计划任务

将参数输入参数传递给批处理文件