Windows批处理 - 从字符串中删除第一个字

问题描述:

我试图从批处理中删除字符串中的第一个字。Windows批处理 - 从字符串中删除第一个字

例:“这小子爱批”到“孩子爱批”

我曾尝试:

@echo off 
set /p text=text: 
for /f "tokens=1,*" %%a in ("%text%") do set updated=%%a 
echo %updated% 
pause 

它只是输出的第一个字,不删除第一个字。

我该如何删除第一个单词,并保留字符串的其余部分?

+3

使用'%% B',而不是'%%了'。 – SomethingDark

+0

@SomethingDark当我将%% a更改为%%时,它给出相同的输出b – djmrminer

+3

编号只需更改:'set updated = %% b' – Aacini

当您在for循环,其中变量是%%a,一切都在第一空白字符的左边使用"tokens=1,*"使用默认的分隔符存储在%%a中,而其他所有内容都存储在%%b中。

第一个单词后得到的一切,只需更改set updated=%%aset updated=%%b

@echo off 
set /p text=text: 
for /f "tokens=1,*" %%a in ("%text%") do set updated=%%b 
echo %updated% 
pause 

你可以不用for循环太:

@Echo Off 
Set/P "text=text: " 
Set "updated=%text:* =%" 
Echo(%updated% 
Timeout -1