我有一个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
first.properties
如下:
name=abcd
number=bcde
address=cdef
mobile=efgh
worklocation=ghij
请帮我删除空格。
答案 0 :(得分:2)
试试这个。当数字直接位于>>之前时可能会出现问题。字符。 您没有使用ENABLEDELAYEDEXPANSION,所以我也删除了它。
@echo off
set new=0
setlocal
for /F "skip=5 delims=" %%L in (first.properties) do (
>>NewProjectsInfo.properties echo %%L
)
endlocal
pause
答案 1 :(得分:1)
代码中NewProjectsInfo.properties
后面有一个空格。如果删除它,它会按预期工作。
令人遗憾,但看起来,批量解释命令为整行&分离出重定向部分。例如,在bash中,命令终止于>
符号本身。
e.g。 echo hello >somefile.txt world
会将hello world
放入somefile.txt
。
答案 2 :(得分:0)
@ECHO OFF
SETLOCAL
(
FOR /f "skip=5 delims=" %%i IN (rltsf.txt) DO CALL :unpad %%i
)>output.txt
FC rltsf.txt output.txt
GOTO :eof
:unpad
ECHO %*
GOTO :eof
这种方法似乎有效,但我想它可能对线路内容有点敏感。如果我们有代表性数据,则更容易测试...