PDA

Показать полную графическую версию : Замена слова в файле


Xsander1cage
05-11-2014, 19:02
Имеется такой код:

@echo off
Setlocal Enabledelayedexpansion Enableextensions

Set From=english
Set Into=russian
Set Filename=appmanifest_21010.acf
Set NewFileName=appmanifest_21010_new.acf

if exist "%NewFileName%" del "%NewFileName%"
for /F "UseBackQ delims= eol=" %%A in ("%filename%") do (
Set St=%%A
Set St=!ST:%From%=%Into%!
Echo !St!>>"%NewFileName%"
)

и файл со следующим содержимым

"AppState"
{
"appid" "21010"
"Universe" "1"
"name" "Watchmen: The End Is Nigh"
"StateFlags" "4"
"installdir" "Watchmen"
"LastUpdated" "1411209643"
"UpdateResult" "0"
"SizeOnDisk" "1704530390"
"buildid" "653"
"LastOwner" "76561198017586215"
"BytesToDownload" "1621825696"
"BytesDownloaded" "1621825696"
"AutoUpdateBehavior" "0"
"AllowOtherDownloadsWhileRunning" "0"
"UserConfig"
{
"language" "english"
}
"MountedDepots"
{
"21011" "2150582903752080439"
}
}

При выполнении скрипта слово успешно заменяется, но вместе с этим удаляется первая строка со словом "AppState". Если кавычки убрать, то все как нужно. Я так понимаю, они воспринимаются скриптом как спецсимвол. Как можно решить? Заранее благодарен.

Georgio
05-11-2014, 20:08
for /F "UseBackQ eol= delims=" %%A in ("%filename%") do (

Xsander1cage
05-11-2014, 21:09
Примного благодарен!




© OSzone.net 2001-2012