我正在玩cmd.exe,但在它的帮助下我没有找到任何信息,如何定义数组.
我发现,如何定义简单变量:
set a=10
echo %a%
Run Code Online (Sandbox Code Playgroud)
但是,我想创建数组,链表等...
那么,它能否在cmd.exe中使用(我的意思是:cmd.exe中是否存在任何数组关键字?)
我想实现一些算法:
等等...
所以,我也想知道,Cmd.exe是否有引用或实例,结构等?
导致其帮助不完整:/?
可以通过图灵机定义将Cmd.exe定义为完整吗?(图灵完成)
视窗
根据帖子(dos批处理通过分隔字符串),我在下面编写了一个脚本,但没有按预期工作.
目标:给定字符串"Sun,Granite,Twilight",我想在循环中获取每个主题值,以便我可以使用该值进行一些处理.
当前输出不正确:
list = "Sun,Granite,Twilight"
file name is "Sun Granite Twilight"
Run Code Online (Sandbox Code Playgroud)
对于第一次迭代,它应该是:
list = "Sun,Granite,Twilight"
file name is "Sun"
Run Code Online (Sandbox Code Playgroud)
然后第二次迭代应该是"文件名是"花岗岩"等等.我做错了什么?
码:
set themes=Sun,Granite,Twilight
call :parse "%themes%"
goto :end
:parse
setlocal
set list=%1
echo list = %list%
for /F "delims=," %%f in ("%list%") do (
rem if the item exist
if not "%%f" == "" call :getLineNumber %%f
rem if next item exist
if not "%%g" == "" call :parse "%%g"
)
endlocal
:getLineNumber
setlocal
echo …Run Code Online (Sandbox Code Playgroud) 是否可以定义一个不限于 1 个字符的分隔符?根据标题的示例,我想将分隔符定义为“#+#”。文本文件/行可以包含这两个字符,但是您很少有机会遇到该特定的子字符串/文本组合。
该FOR循环仅输出列表中的第一个项目,我试图去在整个列表.
@ECHO OFF
set list=this,is,a,list
FOR /f "tokens=1* delims=," %%a IN ("%list%") DO echo %%a
pause
Run Code Online (Sandbox Code Playgroud)