@echo off
set arg1=%%1
set arg2=%%2
shift
shift
for /L %%i IN (1,1,9) do copy "%arg1%" "%arg2%00%%i.xlsm"
for /L %%i IN (10,1,25) do copy "%arg1%" "%arg2%0%%i.xlsm"
我在尝试运行此批处理命令时遇到问题。我是批处理文件的新手,但我的最终目标是:
duplicate "foo.txt" "\Bar\banana"
我在“\ Bar”中找到了25份副本,命名如下:
banana001.xlsm
banana002.xlsm
有人有想法吗?
答案 0 :(得分:3)
set arg1=%%1
set arg2=%%2
应该是
set arg1=%~1
set arg2=%~2
或者最好
set "arg1=%~1"
set "arg2=%~2"
%
转义%
因此%%2
会将“%2”(字面意思)放入arg2
%n
引用参数 n 的内容,其中n = 0到9
%
仅在引用metavariable
i
~
删除参数的封闭引号(如果存在)。
引用的格式确保set
行上的杂散尾随空格不包含在变量的值中。