我已经设置了一个脚本并测试了它是否可以通过用户输入工作,set /p
但现在我想将该变量自动传递给 cmd。
带有用户输入的脚本:
@ECHO OFF
set /p id="Enter Rom: "
start /d "G:\Emulators\N64\Project64" Project64.exe "G:\Emulators\N64\Roms\%id%"
我想要传递给 CLI 的内容:
C:\WINDOWS\system32>set id = "Goldeneye 007.v64" & "C:\script.cmd"
答案1
您可以使用批处理参数并在执行批处理脚本时将 ROM 的值传递给该脚本的调用,例如C:\script.cmd "<Value Argument>"
。
而不是使用set /p id="Enter Rom: "
use set id=%~1
,这就是允许传递给脚本的第一个参数用于设置变量的值所需要的全部内容id
。
批处理脚本示例
@ECHO OFF
set id=%~1
start /d "G:\Emulators\N64\Project64" Project64.exe "G:\Emulators\N64\Roms\%id%"
传递给批处理脚本示例的参数
C:\script.cmd "Goldeneye 007.v64"
更多资源
-
批处理脚本中的 %* 指的是所有参数(例如 %1 %2 %3 %4 %5 ...%255),只有参数 %1 到 %9 可以用数字引用。