Windows 批处理使用参数中的字符串变量

Windows 批处理使用参数中的字符串变量,windows,batch-file,Windows,Batch File,我一直在试验批处理(64位),我需要知道如何使用变量作为参数。 例如,如果我有 set /p prog=Your favorite program is: call prog 我本来觉得不错,但如果我进去(echo打开) 它返回(echo仍然打开) 有人知道如何使文件在我输入notepad.exe时运行call notepad.exe,而不是call prog?调用变量时使用百分号(%) 这将获取整个变量。如果程序名中有多个单词,请执行以下操作 call "%prog%" > < /P>我

我一直在试验批处理(64位),我需要知道如何使用变量作为参数。 例如,如果我有

set /p prog=Your favorite program is:
call prog
我本来觉得不错,但如果我进去(echo打开)

它返回(echo仍然打开)


有人知道如何使文件在我输入
notepad.exe
时运行
call notepad.exe
,而不是
call prog

调用变量时使用百分号(%)

这将获取整个变量。如果程序名中有多个单词,请执行以下操作

call "%prog%"

> < /P>我知道推荐阅读手册是不可接受的,但请把它看作是一个选项-<代码> SET//和<代码>调用/ / <代码>…@ AlexeiLevenkov我试过了,我找不到任何有意义的东西,或者我太累了……甚至没有使用变量的单一示例???如果“%VAR%”在“(…-注意

%VAR%
@AlexeiLevenkov…”之前设置VAR=before,我是个白痴…我可能应该睡一觉…PS:我虽然试过,但显然我没有。。。
I:\TEST>call prog
'prog' is not recognized as an internal or external command,
operable program or batch file.
call %prog%
call "%prog%"