2015-10-13 4 views
0

Я следующий пакетный файл HEREОчистить пробелы в текстовый файл, используя биту

Он ищет строку, которая содержит ...

[/Script/MyGame.Mode] 

Затем он создает новую строку и добавляет ...

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

Это работает, если исходный файл не содержит пробелов после каждой строки. Если нет пробелов, он отлично работает.

Есть ли простой способ удалить все пробелы в исходном файле перед его поиском, копировать и записывать новую строку в новый файл?

Или есть лучший способ сделать это в целом. Извините, но я еще не знаю, в пакетных файлах. Спасибо за любую помощь.

+0

эхо, посмотрите, что вы получаете, сравните это с тем, что вы ожидаете. Проблема, скорее всего, связана с некоторыми введенными кавычками в пробельной строке, против которой вы принимаете. –

+0

, пожалуйста, добавьте затронутую часть кода здесь, а не только ссылку ... – aschipfl

ответ

0

Я понял. Мне удалось очистить пробелы от исходного файла с помощью кода ниже, прежде чем запускать копию и добавить новую строку.

Я изменил некоторые имена файлов, а затем выполнил код ниже, прежде чем проверять файл и писать новую строку.

Мне пришлось показать код с моей другой биты, чтобы показать вам изменения имени файла. Как только вы объедините все вместе в одну биту, он отлично работает.

: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%" 
Смежные вопросы