如何向批处理文件传递参数

3

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

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

这是我的批处理文件,我在这里给出源路径和目标路径。我想将源路径和目标路径作为参数传递以运行此批处理文件。谢谢!

1个回答

2
 Call :UnZipFile "%~1" "%~2"

将调用:unzipfile程序,传递两个参数到批处理文件,所以在命令提示符下:

yourbatchfile "parameter1" "parameter2"

将接受这两个参数并将它们传递到:unzipfile程序中。

如果参数中包含分隔符(如Space),则只需要使用引号括起来。

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

你可以猜一下%~2是什么意思...


它的运行很好,但当我再次运行相同的脚本时,它会提示“文件已经存在”。如果它已经存在,我想要替换它,我需要添加什么? - Pyd
这将涉及到你没有展示的:unzipfile子程序。 - Magoo
谢谢@Magoo,它运行得很好,但是在提取时,我还想隐藏复制窗口,有没有办法使用我们的批处理脚本来隐藏它? - Pyd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接