Batch file 如何将命令更改为自己的命令

Batch file 如何将命令更改为自己的命令,batch-file,cmd,command,Batch File,Cmd,Command,我希望echo命令是say或其他命令,代码如下say(“Hello World”)等等,但是怎么做呢 以下是我测试的内容: 这是一个名为“Config.ini”的文件 在“Main.bat”文件中 我试过了,但没用,所以有人知道如何创建自己的编程语言,或者至少用批处理文件更改一些命令吗 -谢谢 根据我的评论,您需要以正确的方式设置变量 set "say=echo" set "clear=cls" set "#screen=@echo off" 然后调用命令,需要使用变量处理程序%,但不能调用#

我希望
echo
命令是
say
或其他命令,代码如下
say(“Hello World”)等等,但是怎么做呢

以下是我测试的内容:

这是一个名为“Config.ini”的文件

在“Main.bat”文件中

我试过了,但没用,所以有人知道如何创建自己的编程语言,或者至少用批处理文件更改一些命令吗


-谢谢

根据我的评论,您需要以正确的方式设置变量

set "say=echo"
set "clear=cls"
set "#screen=@echo off"
然后调用命令,需要使用变量处理程序
%
,但不能调用
#screen
,因为它在循环之前不存在

for /f "delims=" %%a in (config.ini) do %%a
%clear%
%#screen%
%say% hello
pause

您正在向后设置变量,但没有正确调用它们。查看
set/?
的输出。另外,由于.ini文件和.bat文件中都有
set
,因此脚本正在读取
set set echo=say
。是否创建自己的编程语言?你现在所做的远远不是这样。您只是用一种非常高级的、现有的脚本语言创建变量。也就是说,您设置了错误的值。在获取变量之前,您不能调用
#screen
,因为它们还没有被
设置
,因为它只是在
for
循环的
内部被设置。“重命名”内部命令:不可能。(外部命令:是的,但肯定不可取)替代想法:构建一个“编译器”,将您的命令(
say
clear
#Screen'…)转换为相应的
cmd`命令(并调整语法)。这是一个雄心勃勃的项目,但肯定可以批量完成。你可以创建宏。您基本上必须在每次需要使用它们时加载它们。因此,您希望将它们保存在宏文件中。当我执行该文件时,它说“hello”不会被识别为内部或外部命令、可操作程序或批处理文件-有没有不使用“%”的方法?如果没有%or,就无法设置变量并使用它们!当“延迟扩展”处于启用状态时。
set "say=echo"
set "clear=cls"
set "#screen=@echo off"
for /f "delims=" %%a in (config.ini) do %%a
%clear%
%#screen%
%say% hello
pause