【问题标题】: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!

【问题讨论】:

    标签: batch-file cmd


    【解决方案1】:

    此代码返回变量 txt 内容的子字符串。 这两个数字表示请求的子串在变量 txt 的原始值中的开始和结束位置。 第二个数字的负值意味着倒数。 因此,在您的示例中,返回的值将是不带最后一个字符的变量 txt 的内容。 有关此语法的更多信息,请参阅: https://ss64.com/nt/syntax-substring.html

    【讨论】:

      【解决方案2】:

      它的意思是:'从变量 !txt! 中剪切最后一个字符!'

      【讨论】:

      • 变量名称是txt,而不是您在简短回答中写的!txt!。感叹号用于使用延迟扩展访问环境变量txt的字符串值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      相关资源
      最近更新 更多