【发布时间】:2017-07-09 10:37:05
【问题描述】:
我一直试图从变量中替换nth 字符。这是一个例子。
String: This Will Be A 230 Bytes String
Input : 1st char, change to char 5
(the variable and character to change is hardcoded, so you can ignore it)
Output: 5his Will Be A 230 Bytes String
我不知道该怎么做。这是我尝试过的。
set remaining=237-%aircraft1Loc%
set aircraft1LocB=%aircraft1Loc%-1
call set LowTrack=%OrgLowTrack:~0,%
call set LowTrack=%%OrgLowTrack:~0,%aircraft1LocB%%%5 %%OrgLowTrack,%aircraft1Loc%,%remaining%%
这是%OrgLowTrack%
{0C}+{#} `.:////////::--.` ``.....`````` ``.`` `` ```` ``` ``..```
- LowTrack 现在应该包含被替换的字符串。
- Aircraft1Loc 默认为 231,每次运行上述脚本时都会减少 1(此处未显示
set /a var-=1-) - 剩余 237 - aircraft1Loc
- aircraft1LocB 是aircraft1Loc - 1
结果应该是这样的
Original: XXXXXXXX(String shortened)
Output : XXXXXXX5
2nd out : XXXXX5XX - This occurs when the snippet is run again
但我的 sn-p 输出:
Original: XXXXXXXX
Output : XXXXXXXX5 OrgLowTrack,,237 -
2nd out : XXXXXXXX5 OrgLowTrack,,237
【问题讨论】:
-
Set "string=This Will Be A 230 Bytes String"和Set "string=5%string:~1%"应该做你想做的事。 -
@LotPings 我明白了:
5This Will Be.... -
您是批量尝试还是从 cmd 行尝试?是否启用了扩展程序?
-
@LotPings 来自启用了扩展的批处理文件
-
请将
OrgLowTrack发布为文本而不是图像!
标签: batch-file variables replace substitution