我正在使用 cmd
脚本将资源从一个位置转移到另一个位置。它的工作正常。
现在,我已经需要在代码中进行更改,必须在其中注释一行代码而取消注释另一行。例如代码
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"
如何编写查询以进行代码修改,有可能吗?
谢谢。
答案 0 :(得分:2)
好,所以首先,批处理不是这项工作的最佳工具。如果文件内容以任何方式(附加/较少的空格等)更改,则将影响输出。所以这是一个完整的技巧。
注意,您需要替换实际文件的名称,其中包含我有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!
)