我目前正在尝试编写我的第一个批处理脚本。
它能做什么:
它从某个文件夹中获取所有文件并将每个文件放入 rar
它为桌面生成一个 URL 快捷方式
到目前为止一切正常,但问题是:我想创建具有唯一 URL 的快捷方式。现在我只是通过这样的脚本传递 URL:
script.bat http://example.com
该脚本执行以下操作:
SET LINK =%1
::For each file that is in the dir "Ori"
FOR %%i IN (%BASEPATH%\Ori\*.*) DO (
echo [InternetShortcut] > "%BASEPATH%\New\%%~ni.URL"
echo URL=%LINK% >> "%BASEPATH%\New\%%~ni.URL"
echo IconFile=%LINK%/favicon.ico >> "%BASEPATH%\New\%%~ni.URL"
echo IconIndex=0 >> "%BASEPATH%\New\%%~ni.URL"
)
当然这样一来,所有的 Shortcuts 都会导致http://example.com
.
我希望能够为正在创建的每个快捷方式定义一个唯一的 URL。
由于我是一个完全的初学者,我真的不知道从哪里开始......并希望有一个建议!
PS只是为了让您了解我需要什么,但这不起作用:
script.bat {http://example.com,http://example1.com,http://example2.com}
并且脚本应该使用 URL 1 作为第一个快捷方式,使用 URL 2 作为第二个快捷方式,依此类推。
更新:
现在按照下面的jeb回答,它可以正常工作了。但是,我想知道:是否可以使用另一个变量再次执行相同的工作?所以它看起来有点像这样:
script.bat http://example.com http://example1.com http://example2.com NewVar1 NewVar2 NewVar3
并且 NewVar 应该像这样保存:
SET NEWVAR=%2
如何让脚本知道 URL 变量何时完成并且 NewVar 变量何时启动?
而不是被称为
!NEWVAR!