以这种格式将多个命令行参数传递给批处理文件的最有效方法是什么?
PACKER.BAT /Action="Pack" /Source="..\path to source folder\" /Target="..\path to target folder\" /Pass="SecretCode" /Output="Packed.exe" /GPGhome="..\path to GnuPG home directory\" /User="UserID" /Admin="AdminID" /Profile="ProfileID"
在 .BAT 中,我想去掉开头的“/”和“SET”开关作为环境变量。
这些变量将被传递给 7Zip、GPG、DWipe 和一些基本的错误检查。适用于 Vista、Win7 和 Win8。
PACKER.BAT 笔记和片段...
:Start
:: Prepare the Command Processor & initialise variables
Set colours, title, comments, errorlevels, etc.
Read variables from general profile file, etc.
Process command line arguments
:Lock
if exist %Lock% @echo ž WARNING: %ProfileID% is running.
:Check
if exist %Action%="Pack" do ... else UnPack, etc.
if exist %Source% do ... else error
if exist %Target% do ... else create
:Zip
%7Zexe% u -ms=off -mtc=on -ssw -w%Temp% -p%Pass% -mhe=on %sfx:"=% %Target%%Output% %Source%
:GPG
%GPGexe% --homedir %GPGhome% -r %UserID% -r %AdminID% -e %Target%%Output%
:Wipe
%DWexe% wipe1 %Target%%Output%
:Help
@echo Allowable switches for %ProfileID%:
@echo %Menu:"=%
:End
:: clean up environment variables
¯¯¯¯