在 cmd 中的延迟扩展方面遇到了一些困难。
这可能是一个愚蠢的问题,但是是否有任何方法可以在函数内求和(即没有“设置”)或使用!
within !
(或具有相同效果的东西);例如,~%%n+%y%
在下面的情况下,可以使用括号将其视为其各部分的总和,还是我应该从不同的角度来看待它?
for /l %%n in (10 1 36) do (
for /f %%a in ("!alpha:~%%n+%y%,1!") do (
set "code=!code:%%n=%%a!"))
任何帮助都将不胜感激。谢谢
答案1
- 批量执行(有符号的 32 位整数)数学运算的唯一方法是使用
set /a
命令。 - 您可以使用 echo 和 set 的伪调用来强制另一种类型的 DelayedExpansion (不幸的是不是if) 并将常规变量周围的百分号加倍。
看起来您想通过字母顺序混乱来加密 var 中的文本code
。在我看来,您的方法行不通,因为您还会更改已修改的字符。
请参阅此链接新功能::chr、:asc、:asciiMap来协助您完成任务。