【问题标题】:Remove whitespace/trailing删除空格/尾随
【发布时间】:2015-04-27 17:28:11
【问题描述】:

我正在执行以下命令将当前 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

谢谢。

【问题讨论】:

标签: batch-file


【解决方案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 命令中找到目标行,选择那些行中: 之外的部分,并处理结果字符串,删除蚂蚁空格(for /f %%c 中的默认分隔符)

【讨论】:

    【解决方案2】:

    也许使用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】:

      这是一个不错的命令,您可以使用:http://fart-it.sourceforge.net/ 您将使用它来查找和替换为您的目的而浪费的部分。

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

      看看 Andriy M 的第一个答案。

      【讨论】:

      • 感谢 dannl,但我更喜欢仅使用默认为 Windows 而不是任何外部工具的命令。
      【解决方案4】:

      PowerShell:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-05
        • 2015-07-06
        • 1970-01-01
        • 2016-09-10
        • 2015-05-11
        相关资源
        最近更新 更多