Как я могу изменить конкретную строку кода с помощью cmd - PullRequest
0 голосов
/ 22 марта 2019

Я использую cmd сценарии для перемещения ресурсов из одного места в другое.Работает нормально.

Теперь у меня есть требование внести изменения в мой код, где я должен комментировать одну строку кода и раскомментировать другую строку.Ex.код

public class SISConst
{
    //public const string SIS_APIKey = "AIzaSyrGUAXMezp86waQ";
    //public const string KPS_APIKEy = "AAAAqoT4xTw:APA91bHr3OS";
    //public const string Chanllengers_APIKey = "AIzaSyEfzyaCu8X22FmCXjOE";
    //public const string Trividyaa_APIKey = "AIzaSMFP4B3ddDXKLFrZxoKI";
    //public const string Global_APIKey = "AIzaSyCsZIgMKdxrDKtfVTI";
    //public const string Tulip_APIKey = "AIzaSyA1tP5iw7jTxW6JaliL-9Rc";
    //public const string Lmg_APIKey = "AIzaSyDYLKojBk-vVVDiq2DSH0";
    public const string RisingSun_APIKey = "AIzaSyAFh-wkAFYrXJHnrww"; 
}

Редактировать: Я перемещаю ресурсы на основе параметра, указанного в файле clientname.txt.В этом текстовом файле просто дается клиентская папка типа (Код сверху) SIS, KPS, Global, Tulip.Но здесь дело обстоит иначе: у меня есть только файл с именем SISConst.Параметр клиента должен быть именем в переменной до _.Скажите SIS_APIKey это SIS, KPS_APIKey это KPS и так далее.Теперь в файле клиента я бы дал эти имена KPS, SIS и т. Д. Я не вижу другой подсказки.

На данный момент я использую этот код для перемещения ресурсов

@echo off
setlocal enabledelayedexpansion
FOR /F "tokens=*" %%A in (1.ClientName.txt) DO ( 

XCOPY "..\AppIcons\%%A\drawable-hdpi\*" "..\RisingSun\Resources\drawable-hdpi\" /E /F /R /Y /H >> "..\AppIcons\%%A\copy.log"

Как мне написать запрос для внесения изменений в код, возможно ли это вообще?

Спасибо.

1 Ответ

2 голосов
/ 22 марта 2019

Хорошо, во-первых, пакетная обработка не лучший инструмент для этой работы. Если содержимое файла изменяется каким-либо образом (дополнительные / меньше пробелов и т. Д.), Это повлияет на вывод. Так что это полный взлом.

Примечание , вам нужно заменить имя вашего фактического файла, содержащего публичные классы, где у меня есть FILENAMEHERE:

@echo off
setlocal enabledelayedexpansion
set "inputfile=D:\Arvind.ch\SIS\SIS_Product\SIS-Global-Dev\edTheSIS\RisingSun\MainActivity.cs"
for /f "tokens=*" %%A in (1.ClientName.txt) do (
    set "client=%%A"
    xcopy "..\AppIcons\%%A\drawable-hdpi\*" "..\RisingSun\Resources\drawable-hdpi\" /E /F /R /Y /H          >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\drawable-mdpi\*" "..\RisingSun\Resources\drawable-mdpi\" /E /F /R /Y /H          >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\drawable-xhdpi\*" "..\RisingSun\Resources\drawable-xhdpi\" /E /F /R /Y /H        >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\GoogleJsonFile\*" "..\RisingSun\" /E /F /R /Y /H     >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\LoginPageImage\*" "..\RisingSun\Resources\drawable\" /E /F /R /Y /H      >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\MenifestFile\*" "..\RisingSun\Properties\" /E /F /R /Y /H            >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\SplashScreenImage\*" "..\RisingSun\Resources\drawable\" /E /F /R /Y /H      >> "..\AppIcons\%%A\copy.log"
    xcopy "..\AppIcons\%%A\StringFile\*" "..\RisingSun\Resources\values\" /E /F /R /Y /H      >> "..\AppIcons\%%A\copy.log"

   )
    for /f "delims=" %%i in ('type "%inputfile%" ^| findstr "!client!"') do set "finder=%%i"
    for /f "tokens=*" %%a in ('type "%inputfile%" ^| find /v /n "" ^& break ^> "%inputfile%"') do (
              set "str=%%a"
              set "str=!str:*]=!"
              set "str=!str:            pushInfo.ServerkeyPush=         //pushInfo.ServerkeyPush!"
              if "!str!"=="!finder!" set "str=!str://pushInfo.ServerkeyPush=pushInfo.ServerkeyPush!"
             >>%inputfile% echo(!str!
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...