使用批处理脚本进行字符串操作

String manipulation with batch scripting

我需要将来自for循环的变量暂时保存在%%c中。但是当我尝试这样做时,内容意外地发生了变化。一些 space 个字符出现在字符串的末尾。顺便说一句,%%c的内容是a.jpg

        echo %%ca                 REM prints a.jpga

        set temp=%%c    
        set temp=!temp!

        echo !temp!a              REM prints a.jpg  a

我尝试使用下面的代码在初始化临时变量后删除多余的 spaces。但它给了我一个错误:此时“=%”是意外的。我错过了什么?提前致谢!

        set "this=!temp!"
        set "this=%this:* =%"
        call set "this=%%temp:%this%=%%"
        set "this=%this:~0,-1%"
        echo %this%a

你这行set temp=%%c就是原因。末尾有空格。

使用此语法避免出现意外空格:

set "temp=%%c"