删除空格/尾随

时间:2015-02-25 16:05:53

标签: batch-file

我正在执行以下命令将当前IPv4地址写入日志文件:

ipconfig | findstr IPv4>>"c:\ip.log"

但是,有一些空格,我该如何删除?:

   IPv4 Address. . . . . . . . . . . : 10.0.0.15
   IPv4 Address. . . . . . . . . . . : 172.16.0.15
   IPv4 Address. . . . . . . . . . . : 192.168.0.15

感谢。

4 个答案:

答案 0 :(得分:1)

@ECHO OFF
SETLOCAL

FOR /f "tokens=1*delims=:" %%a IN ('ipconfig^|findstr "IPv4" ') DO (
 FOR /f %%c IN ("%%b") DO ECHO ++%%c++
)

GOTO :EOF

当然,如果您愿意,echo可能是set++数据的任何一端只是为了表明空格已被删除。

ipconfig命令中查找目标行,在这些行的:之外选择该部分,并处理结果字符串,删除ant空格({{1中的默认分隔符) }})

答案 1 :(得分:0)

这是一个很好用的命令:http://fart-it.sourceforge.net/ 您可以使用它来查找和替换浪费的部分。

修改 如果你想坚持使用可用的命令,那么我认为你最好使用它:How to replace substrings in windows batch file

看看Andriy M的第一个回答。

答案 2 :(得分:0)

也许可以使用ECHOFOR来尝试这样的事情:

        ipconfig | findstr IPv4>>"c:\ip.log"
        < "c:\ip.log" SET /P my_first_ip=
        FOR /F "delims= tokens=2" %%I IN ("%my_first_ip%") DO (
        ECHO %%I>"c:\ip.log"
        )

答案 3 :(得分:0)

的PowerShell:

get-wmiobject Win32_NetworkAdapterConfiguration -filter 'IPEnabled=TRUE' |
  select-object -expandproperty IPAddress | out-file "C:\IP.log" -append