windows - 在 Windows 批处理文件中的字符串变量中使用 %2*

标签 windows batch-file variable-assignment

我正在尝试批量创建一个简单的脚本以在 Windows 中运行,该脚本有 3 个变量:

  1. 要打开的 URL
  2. 打开的窗口数
  3. 等待新窗口打开的时间

脚本工作正常,除非 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/

相关文章:

java - 如何为 JNDI InitialContext 的 PROVIDER_URL 指定驱动器号(windows)

windows - 在 list 中指定公钥 token

windows - Windows 批处理文件中的 Scala 脚本

command-line - DEL 说路径不存在(它确实存在)

windows - 使用在内容中查找批量重命名文件

c - 将变量引用到现有数组

java - 从文件中读取数字并检查随机生成

ios - 我们可以在Windows机器上使用appium创建.ipa文件吗?

Windows下C程序访问总线上的内容

C++ 作业 - 时尚还是性能?