从一组/ p批量剥离文本

Gar*_*nes 4 batch-file

无论如何要删除设置为字符串的"文本" set /p=Command?

例如,我正在进行批量游戏,其中一个命令是保存.

有没有办法删除单词保存,如果有任何遗留,然后将其设置为TEST,然后将文件命名为%TEST%

Han*_*ood 6

如果我理解正确,您希望将%TEXT%包含的变量Save filename转换为just filename.使用:

Set TEXT=%TEXT:Save =%
Run Code Online (Sandbox Code Playgroud)

冒号后面的部分是搜索和替换表达式.第一个文本左侧=的文本被右侧的文本替换.在这种情况下,"保存"(带有尾随空格)将被替换为空.这不区分大小写,因此大写无关紧要.

编辑:回复以下评论:

要在第一个空格(忽略前导空格)之前检索所有内容,您可以编写一个函数:

:FirstTerm
Set TEXT=%1
Exit /B
Run Code Online (Sandbox Code Playgroud)

并使用以下命令从同一批处理文件中调用它:

Call :FirstTerm %TEXT%
Run Code Online (Sandbox Code Playgroud)

  • 如果它被`set/P`读取,则此方法适用于任何字符串无关紧要. (2认同)