Batch file 如何在批处理脚本中从字符串中删除前导空格和跟踪空格?

Batch file 如何在批处理脚本中从字符串中删除前导空格和跟踪空格?,batch-file,Batch File,我有一个first.properties文件,我正在读取该文件,跳过前5行,并用first.properties的其余行创建一个新文件。这很好用。但是在新创建的文件中,每行都有空格。我想删除这些空格 我使用了以下代码: @echo off set new=0 setlocal ENABLEDELAYEDEXPANSION for /F "skip=5" %%L in (first.properties) do ( echo %%L>>NewProjectsInfo.propertie

我有一个
first.properties
文件,我正在读取该文件,跳过前5行,并用
first.properties
的其余行创建一个新文件。这很好用。但是在新创建的文件中,每行都有空格。我想删除这些空格

我使用了以下代码:

@echo off
set new=0
setlocal ENABLEDELAYEDEXPANSION
for /F "skip=5" %%L in (first.properties) do (
echo %%L>>NewProjectsInfo.properties 
)
endlocal
pause 
首先。属性如下所示:

name=abcd
number=bcde
address=cdef
mobile=efgh
worklocation=ghij

请帮我删除空格。

试试这个。当数字直接位于>>字符之前时,可能会出现问题。 您没有使用ENABLEDELAYEDEXPANSION,所以我也删除了它

@echo off
set new=0
setlocal
for /F "skip=5 delims=" %%L in (first.properties) do (
>>NewProjectsInfo.properties echo %%L
)
endlocal
pause 

试试这个。当数字直接位于>>字符之前时,可能会出现问题。 您没有使用ENABLEDELAYEDEXPANSION,所以我也删除了它

@echo off
set new=0
setlocal
for /F "skip=5 delims=" %%L in (first.properties) do (
>>NewProjectsInfo.properties echo %%L
)
endlocal
pause 
这种方法看起来很有效,但我认为它可能对行内容有点敏感。如果我们有代表性的数据,就更容易测试


这种方法看起来很有效,但我认为它可能对行内容有点敏感。如果我们有代表性的数据,则更容易测试…

在代码中的
NewProjectsInfo.properties
后面有一个空格。如果将其删除,它将按照您的预期工作

令人难过的是,看起来batch将命令解释为整行,并将重定向部分分离出来。例如,在bash中,命令终止于
符号本身


e、 g.
echo hello>somefile.txt world
hello world
放入
somefile.txt

在代码中的
NewProjectsInfo.properties
后面有一个空格。如果将其删除,它将按照您的预期工作

令人难过的是,看起来batch将命令解释为整行,并将重定向部分分离出来。例如,在bash中,命令终止于
符号本身


e、 g.
echo hello>somefile.txt world
hello world
放入
somefile.txt

我是否正确理解
first.properties
(第6行之后)中的条目有前导空格和/或尾随空格?因为你发布的行(只有5行)没有。如果您得到的代码神秘地创建了空格,我会感到惊讶。与您的问题相比,这有点倒退,因为它添加了字符,但可能会有所帮助:我是否正确理解
中的条目首先是。属性
(第6行后)中有前导空格和/或尾随空格?因为你发布的行(只有5行)没有。如果你得到的代码神秘地创建了空格,我会感到惊讶。与你的问题相比,这有点倒退,因为它添加了字符,但可能会有帮助:你很棒…它工作得很好…感谢你的支持你很棒…它工作得很好…感谢你的支持