在数组中查找变量 - 批处理

Ray*_*vyn 1 windows dos batch-file

我想通过批处理文件创建基于 Windows 用户名的快捷方式

我在想:

if %username% in (a,b,c,d) (
    shortcut ShortcutName DestinationPath
)
else (
    shortcut OtherShortcutName OtherDestinationPath
)
Run Code Online (Sandbox Code Playgroud)

我在第一部分遇到问题,因为我已经知道如何通过命令行创建快捷方式...

希望我能找到一些帮助。

Sup*_*bob 5

批处理文件中并没有真正的数组类型,但我们可以通过迭代一个以空格分隔的列表来伪造它for

@ECHO OFF
set Array=Peter James Robby Jimmy

for %i in (%array%) do (if %i==%USERNAME% (echo %USERNAME% is found) else (echo %USERNAME% not found))
Run Code Online (Sandbox Code Playgroud)

如果 Robby 已登录,则输出为:

Not found
Not found
Robby is found
Not found
Run Code Online (Sandbox Code Playgroud)