【问题标题】:Clear whitespace in text file using bat使用 bat 清除文本文件中的空格
【发布时间】:2015-10-13 12:59:14
【问题描述】:

我有以下批处理文件HERE

它搜索包含...的行

[/Script/MyGame.Mode]

然后它创建一个新行并添加...

RedirectReferences=(PackageName="%Package%",PackageURLProtocol="%PackageURLProtocol%",PackageURL="%WebAddress%/%Package%%Ext%",PackageChecksum="")

除非原始文件在每行之后包含空格,否则它会起作用。如果没有空格,它就完美了。

在搜索、复制和在新文件中写入新行之前,有没有一种简单的方法可以清除原始文件中的所有空格?

或者有没有更好的方法来做到这一点。抱歉,我还不熟悉批处理文件。感谢您提供的任何帮助。

【问题讨论】:

  • 回应它,看看你得到了什么,将它与你所期望的进行比较。问题很可能是您假设反对的包含空格的字符串中的一些引入引号。
  • 请在此处添加受影响的代码部分,而不是仅提供链接...

标签: batch-file whitespace removing-whitespace


【解决方案1】:

我想通了。在运行副本并添加新行之前,我可以使用以下代码清除原始文件中的空格。

我更改了一些文件名,然后在检查文件并写入新行之前运行了下面的代码。

我必须展示一些来自我的其他蝙蝠的代码,以向您展示文件名的更改。一旦你将所有东西组合在一起,它就可以正常工作了。

:CLEARWHITESPACE
for /F "eol=; tokens=1 delims=; " %%I in (Game.txt) do (
  set /a count+=1
  if !count! leq 10 echo %%I>>game.temp.txt
)

:SHOWLINE
set NewURL=RedirectReferences=(PackageName="%Package%",PackageURLProtocol="%PackageURLProtocol%",PackageURL="%WebAddress%/%Package%%Ext%",PackageChecksum="")

pause

:WRITENEW
set inputfile=game.temp.txt
set outputfile=game.temp2.txt
(for /f usebackq^ delims^=^ eol^=  %%a in ("%inputfile%") do (
   echo %%a 
   if "%%~a"=="[/Script/MyGame.Mode]" call echo %%NewURL%%  
))>>"%outputfile%"

【讨论】:

    猜你喜欢
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2011-02-11
    • 2010-11-07
    相关资源
    最近更新 更多