我正在尝试批量创建一个简单的脚本以在 Windows 中运行,该脚本有 3 个变量:
- 要打开的 URL
- 打开的窗口数
- 等待新窗口打开的时间
脚本工作正常,除非 URL 包含 %20 或 %2F 之类的字符,我猜 cmd.exe 试图将它们用作变量,我将 URL 的值放在引号之间但没有帮助。
如果我使用地址:
set url="http://domain.com/app.html?path=%2F%2Flocalhost%2Fcode&do_pause=false&go=true"
浏览器打开这个:
https://domain.com/app.html?path=FFlocalhostFcode&do_pause=false&go=true
有没有一种方法可以设置变量或处理它的值,这样它就不会将这些符号解释为变量名?
在此先感谢,这是供引用的代码。这是我第一次尝试批量编写脚本,因此非常感谢任何建议。
@echo off
echo "Setting variables..."
set iterations=2
set url="http://domain.com/app.html?path=%2F%2Flocalhost%2Fcode&do_pause=false&go=true"
set time=5
set browser="C:\Program Files\Google\Chrome\Application\chrome.exe"
echo "Running the browser..."
FOR /L %%i IN (1,1,%iterations%) DO (
%browser% %url%
timeout %time%
)
ECHO Browsers are running, press Enter when ready to close this window. . .
pause
最佳答案
尝试:
set url="http://domain.com/app.html?path=%%2F%%2Flocalhost%%2Fcode&do_pause=false&go=true"
在批处理文件中,您需要用 %% 代替 %,因为 %1、%2 等用于命令行参数。
关于windows - 在 Windows 批处理文件中的字符串变量中使用 %2*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921569/