Cmd 从doskey宏中删除引号(导出=设置)
我正在尝试删除doskey宏的传入引号,该宏将允许我使用“导出”作为“设置”。以下是我所拥有的:Cmd 从doskey宏中删除引号(导出=设置),cmd,doskey,Cmd,Doskey,我正在尝试删除doskey宏的传入引号,该宏将允许我使用“导出”作为“设置”。以下是我所拥有的: doskey export=set $* 除非我使用以下工具运行: export VAR="value" 我的结局是: VAR="value" vs我想要的: VAR=value 我想我必须编写一个小的排序方法来“清理”要设置的输入,但我不知道怎么做——类似于“for(var1=var2)do set var1=~var2”,但我无法让这样的方法工作 救命啊 您也可以使用for循环来完成,但
doskey export=set $*
除非我使用以下工具运行:
export VAR="value"
我的结局是:
VAR="value"
vs我想要的:
VAR=value
我想我必须编写一个小的排序方法来“清理”要设置的输入,但我不知道怎么做——类似于“for(var1=var2)do set var1=~var2”,但我无法让这样的方法工作
救命啊 您也可以使用for循环来完成,但这更简单:
set ORIGARGS=%*
set ARGCOPY=
:copyargs
set "ARGCOPY=%ARGCOPY% %~1"
shift
if not [%1]==[] goto:copyargs
(逐行)
%*
,因为我们要销毁它ARGCOPY
),将转换后的参数放入%1
附加到ARGCOPY
,但删除引号(%1
)shift
将所有参数左移一个空格(即原来的%2
变为%1
,等等)%1
没有值,否则转到第3行,即:copyargs
标签所在的位置李>
完成后,%ARGCOPY%
将包含不带引号的参数。您也可以使用for循环来完成,但这更简单:
set ORIGARGS=%*
set ARGCOPY=
:copyargs
set "ARGCOPY=%ARGCOPY% %~1"
shift
if not [%1]==[] goto:copyargs
(逐行)
保存原始的%*
,因为我们要销毁它
准备一个变量(ARGCOPY
),将转换后的参数放入
标签(第6行goto的目标)
将第一个参数%1
附加到ARGCOPY
,但删除引号(%1
)
shift
将所有参数左移一个空格(即原来的%2
变为%1
,等等)
如果我们已经到达参数的末尾,则%1
没有值,否则转到第3行,即:copyargs
标签所在的位置李>
完成后,%ARGCOPY%
将包含不带引号的参数。没有导出
命令。您以什么方式使用导出?如果要设置环境变量的值,请使用`set“VAR=value”doskey.exe创建控制台别名。默认情况下,只要“cmd.exe”从控制台执行熟读操作(即在控制台输入句柄上调用ReadConsole
或ReadFile
),它就会创建有效的别名。还可以专门为其他可执行文件(如python.exe)创建别名。控制台别名通过替换行首匹配的文本来工作。它不能在从控制台读取的输入命令中的任何其他地方使用。它也不能在批处理脚本中使用。因此它的价值非常有限。控制台允许将空白分隔的命令行的其余部分参数化为$1
到$9
,以及别名本身之后整个命令行的$*
。您可以在替换字符串中使用$*
,例如在for
循环中或其他任何内容中。但是请记住,CMD将从控制台读取for
循环,因此它必须是交互式命令行的有效语法。它不像函数或调用export.bat
脚本那样进行计算。在执行export
语句之前,需要过滤掉这些引号(以避免eryksun准确指出的复杂情况)。没有export
命令。您以什么方式使用导出?如果要设置环境变量的值,请使用`set“VAR=value”doskey.exe创建控制台别名。默认情况下,只要“cmd.exe”从控制台执行熟读操作(即在控制台输入句柄上调用ReadConsole
或ReadFile
),它就会创建有效的别名。还可以专门为其他可执行文件(如python.exe)创建别名。控制台别名通过替换行首匹配的文本来工作。它不能在从控制台读取的输入命令中的任何其他地方使用。它也不能在批处理脚本中使用。因此它的价值非常有限。控制台允许将空白分隔的命令行的其余部分参数化为$1
到$9
,以及别名本身之后整个命令行的$*
。您可以在替换字符串中使用$*
,例如在for
循环中或其他任何内容中。但是请记住,CMD将从控制台读取for
循环,因此它必须是交互式命令行的有效语法。它不像是一个函数或调用一个export.bat
脚本那样被评估。在执行export
语句之前,您需要过滤掉这些引号(以避免eryksun准确指出的复杂情况)。哇,谢谢,我很感谢您对其工作原理的解释。现在,如何将其插入doskey宏中?export%ARGCOPY%
如果export
是您的doskey宏,请记住对所有有用的答案进行投票,并选择最能回答您问题的答案。这将有助于未来的访问者,并给我一些建议:-)哇,谢谢,我很感谢你对这一点的解释。现在,如何将其插入doskey宏中?export%ARGCOPY%
如果export
是您的doskey宏,请记住对所有有用的答案进行投票,并选择最能回答您问题的答案。这将有助于未来的访客,并给我打分:-)