Windows 批处理:在 Chrome URL 的快捷方式中设置机器特定变量

Windows 批处理:在 Chrome URL 的快捷方式中设置机器特定变量

我已经在 Windows 7 上创建了 Chrome 的快捷方式。

我修改了快捷方式中的目标行,使其以在隐身和信息亭模式下启动 Chrome 的参数结尾,并打开到特定的 URL

例如start chrome --incognito --kiosk www.someplace.com/?machine_label=01

好奇您是否能就以下问题给我建议;

  1. 我希望目标 URL 是特定于机器的,例如在有 30 台编号机器的实验室中,如何有一个快捷方式/bat 文件将 URL 指向该机器的编号。

  2. 而且我想动态地调整 URL 域。

例如

  • start chrome --incognito --kiosk www.someplace.com/?machine_label=01
  • start chrome --incognito --kiosk www.someplace.com/?machine_label=02
  • start chrome --incognito --kiosk !MyURL!/?machine_label=!MachineNum!

现在我在网络驱动器上有一个 .bat 文件(允许我动态调整域),但然后我手动调整 URL。

我可以有一个单独的 .txt 文件,其中包含 MAC 地址和这些机器的指定号码。但是,我对 Windows 批处理不够熟悉,不知道如何定义我的 .bat 文件来检查该文件并输入适当的 URL。

我希望您能给我一些建议,告诉我如何最好地完成我所要求的事情,或者找到更好的方法来获得相同的结果。

答案1

每台计算机名称都是唯一的,并且每台计算机的名称都存储在 中%COMPUTERNAME%

最合理的做法是使用以下 URL:

start chrome --incognito --kiosk www.someplace.com/?machine_label=%COMPUTERNAME%

这是迄今为止最简单的方法。

答案2

将其保存为批处理脚本(任意命名):

@echo off
setlocal enabledelayedexpansion
pushd %~dp0
set URL=www.someplace.com
for /f "tokens=1,2 delims=_ " %%a in ('type MachineNumbers.txt') do (
 set MAC=%%b
 set MAC=!MAC::=-!
 for /f "tokens=* delims=" %%c in ('getmac ^| find "!MAC!"') do start chrome --incognito --kiosk %URL%/?machine_label=%%a
)
popd

您可以更改网址变量来动态更改域名,但是,它会为所有机器设置域名。(您没有指定将不同域名分配给不同机器的模式)。

...并将 MAC 地址与机器号的绑定保存到名为 的文件中,如下所示(每组用下划线分隔)MachineNumbers.txt。您还可以使用破折号保存 MAC 地址(例如 00-00-00-00-00-03):

01_00:00:00:00:00:01
02_00:00:00:00:00:02
03_00:00:00:00:00:03
.
.
.
30_00:00:00:00:00:30

将两个文件放在网络共享中的同一目录中,并在所有计算机上创建该脚本的快捷方式。根据系统数量,需要几秒钟才能为您生成正确的 URL。

相关内容