Como faço para analisar o texto de um documento e inserir em outro em uma posição específica?

0

Estou fazendo um script em lote que recupera um arquivo de um local, copia-o para outro e o renomeia para autoexec.cfg para corrigir um problema em um jogo. O único conflito em potencial que enfrento é se um usuário já criou um arquivo autoexec.cfg . Então, eu preciso fazer meu script analisar as informações de dentro do arquivo de destino e inseri-lo no topo de um arquivo autoexec.cfg existente, se estiver presente. Eu sei como substituir texto usando findstr , mas eu preciso de algo como inserir texto em um local específico usando posicionamento de linha e coluna. Aqui está o meu script atual:

IF NOT EXIST "%LOCALAPPDATA%\ElDewrito\keys.cfg" goto :NOKEYS
IF EXIST "AutoExec.cfg" goto :HASKEYS
IF EXIST "%LOCALAPPDATA%\ElDewrito\keys.cfg" goto :EXECUTE

:NOKEYS
SET msgboxTitle=Error
SET msgboxBody=You don't have any keys to import!
SET tmpmsgbox=%TEMP%\Message.vbs
IF EXIST "%tmpmsgbox%" DEL /F /Q "%tmpmsgbox%"
ECHO msgbox "%msgboxBody%",0,"%msgboxTitle%">"%tmpmsgbox%"
WSCRIPT "%tmpmsgbox%"
goto :END

:HASKEYS
SET msgboxTitle=Error
SET msgboxBody=You've already imported your keys.
SET tmpmsgbox=%TEMP%\Message.vbs
IF EXIST "%tmpmsgbox%" DEL /F /Q "%tmpmsgbox%"
ECHO msgbox "%msgboxBody%",0,"%msgboxTitle%">"%tmpmsgbox%"
WSCRIPT "%tmpmsgbox%"
goto :END

:EXECUTE
COPY "%LOCALAPPDATA%\ElDewrito\keys.cfg" ".\AutoExec.cfg"
goto :SUCCESS

:SUCCESS
SET msgboxTitle=Import
SET msgboxBody=Keys successfully imported!
SET tmpmsgbox=%TEMP%\Message.vbs
IF EXIST "%tmpmsgbox%" DEL /F /Q "%tmpmsgbox%"
ECHO msgbox "%msgboxBody%",0,"%msgboxTitle%">"%tmpmsgbox%"
WSCRIPT "%tmpmsgbox%"
goto :END

:END

É possível analisar / copiar cadeias de um documento baseado em texto e colá-lo em outro em uma posição específica para evitar a quebra da estrutura do segundo documento? Estou ciente de que as trocas não são para resolver os problemas, eu só preciso de uma idéia de se isso é viável e como implementá-lo.

    
por Mr. Mendelli 29.04.2018 / 08:12

0 respostas