下面这段 cmd 代码是啥意思? [关闭]
Posted
技术标签:
【中文标题】下面这段 cmd 代码是啥意思? [关闭]【英文标题】:What does the following piece of cmd code means? [closed]下面这段 cmd 代码是什么意思? [关闭] 【发布时间】:2022-01-20 21:31:11 【问题描述】:这段代码是什么意思?谁能给我解释一下?
set "txt=!txt:~0,-1!"
@echo off
setlocal EnableDelayedExpansion
set "txt="
set input=input.txt
for /f "delims=" %%a in (%input%) do (
set "txt=!txt!%%a,"
)
set "txt=!txt:~0,-1!"
>new.txt echo !txt!
【问题讨论】:
【参考方案1】:此代码返回变量 txt 内容的子字符串。 这两个数字表示请求的子串在变量 txt 的原始值中的开始和结束位置。 第二个数字的负值意味着倒数。 因此,在您的示例中,返回的值将是不带最后一个字符的变量 txt 的内容。 有关此语法的更多信息,请参阅: https://ss64.com/nt/syntax-substring.html
【讨论】:
【参考方案2】:它的意思是:'从变量 !txt! 中剪切最后一个字符!'
【讨论】:
变量名称是txt
,而不是您在简短回答中写的!txt!
。感叹号用于使用延迟扩展访问环境变量txt
的字符串值。以上是关于下面这段 cmd 代码是啥意思? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章