Batch file 摆弄批

Batch file 摆弄批,batch-file,Batch File,我一直在摆弄批处理,我想尝试一些我从未尝试过的东西,所以我现在要做一些小事情,但有些事情出了问题,如果有人能帮助我,请做 如果你看不清楚,他们是这么说的 批处理文件: 错误消息: 注意:它应该使代码do call runtimercommand问题是批处理只解析您的命令一次。它将%TestWadom%解析为%RunTimer%,但没有将%RunTimer%解析为调用RunTimerCommand。如果您能向我们解释为什么需要将一个变量解析为另一个变量,我们就可以找到解决方案。Setlocal

我一直在摆弄批处理,我想尝试一些我从未尝试过的东西,所以我现在要做一些小事情,但有些事情出了问题,如果有人能帮助我,请做

如果你看不清楚,他们是这么说的

批处理文件: 错误消息:
注意:它应该使代码do call runtimercommand问题是批处理只解析您的命令一次。它将
%TestWadom%
解析为
%RunTimer%
,但没有将
%RunTimer%
解析为
调用RunTimerCommand
。如果您能向我们解释为什么需要将一个变量解析为另一个变量,我们就可以找到解决方案。

Setlocal enableDelayedExpansion
这是你的朋友用的

下面的示例将命令设置为数组,要将它们指定给不同的名称,您需要修改For循环或再次处理该数组以将它们重新指定给新的变量名称

:

示例来源:target.bat

#Mode 1000
#ECHO Testing Array
#TIMEOUT 1
#MODE con: cols=50 lines=30
#ECHO Definement Of Objects
#TIMEOUT 1
#MODE 1000
#ECHO For Use in Batch
#TIMEOUT 1
#CALL "%userprofile%\Desktop\target.bat"

Set "msg=[34mYour Message Here[0m"
@ECHO %msg%
TIMEOUT 1

:screen
@ECHO OFF
cls
color 02
mode con: cols=93 lines=13
ECHO ============================================================================================
ECHO = [33mLibrary of Objects as Commands, Functions and Programs for assignment to Array Elements[32m
ECHO =
ECHO = [36mTesting is Complete.[32m
ECHO =
ECHO = [36mYou now have the tools to use arrays Within Batch.[32m
ECHO =
ECHO = [36mdeveloped by: [37mT3RRY.[32m
ECHO =
ECHO ============================================================================================[0m
TIMEOUT 4
CLS
GOTO :EOF
echo之后的
类似于在
echo中使用
尽管问题较少。
如果
Testwadom
未定义,它可以帮助避免
echo关闭
消息。

您需要的是另一层扩展,您可以使用
调用

@Echo关闭
设置“RunTimer=callthisttime”

设置/P“Testwadom=”这仅仅是一个概念证明,因为我想不出任何情况下你会这么做。我不知道q证明的概念意味着什么,我不使用术语,你可以解释很多。请注意,在现实中,你永远不会希望像
%TestWadom%
那样运行用户输入,因为这将是一个重大的注入安全问题。我有点难以理解你,但我不能o解释我需要什么,我正在尝试制作自定义命令,你将其键入命令文件,然后你有一个批处理,将命令更改为批处理命令并运行这些命令我可能会更好地理解你现在我这样做的原因是因为我是gunna,其中有更多的文本,每个文本都需要转换,但我gunna有更多的文本这有点难解释我明白你想做什么了。我会想办法弄明白这是我想不出来的:所以,你不需要一个实际的命令行,而需要一个
集合
循环。kk我看看这是否有帮助
%RunTimer%
'%RunTimer%' is not recognized as internal or external command,

operable program or batch file
@ECHO OFF

:start
Set Processed=0
Set "Val=0"
color 07
SETLOCAL ENABLEDELAYEDEXPANSION

:DefineArrays

FOR /F "tokens=* USEBACKQ Delims=#" %%c in ("target.bat") do (
    Set /a "Val+=1"
    SET "ScreenArray[!Val!]=%%c"
)

:UseObjects

FOR /L %%a in (1,1,10) DO !ScreenArray[%%a]! 2>nul

pause
exit
#Mode 1000
#ECHO Testing Array
#TIMEOUT 1
#MODE con: cols=50 lines=30
#ECHO Definement Of Objects
#TIMEOUT 1
#MODE 1000
#ECHO For Use in Batch
#TIMEOUT 1
#CALL "%userprofile%\Desktop\target.bat"

Set "msg=[34mYour Message Here[0m"
@ECHO %msg%
TIMEOUT 1

:screen
@ECHO OFF
cls
color 02
mode con: cols=93 lines=13
ECHO ============================================================================================
ECHO = [33mLibrary of Objects as Commands, Functions and Programs for assignment to Array Elements[32m
ECHO =
ECHO = [36mTesting is Complete.[32m
ECHO =
ECHO = [36mYou now have the tools to use arrays Within Batch.[32m
ECHO =
ECHO = [36mdeveloped by: [37mT3RRY.[32m
ECHO =
ECHO ============================================================================================[0m
TIMEOUT 4
CLS
GOTO :EOF
@echo off
set RunTimer=Call RunTimerCommand
set /p Testwadom=<Test.Wadom.txt
call set TestWadom=%TestWadom%
%TestWadom%
pause
@echo off
set RunTimer=Call RunTimerCommand
set /p Testwadom=<Test.Wadom.txt
call echo(%TestWadom%
pause