0 Preface/Foreword
1 替换文件中指定行的内容
1.1 JSON文件
{
"OutputFile": "..\\..\\OTA\\EcoTime_FOTA.bin",
"CombineOrPack": "P",
"ChipSeries": "RTL87X3E",
"FlashMap": "..\\..\\OTA\\flash_map_config\\flash_map.ini",
"PackMode": "PACK_FOR_OTA",
"ImageFolder": "",
"PrimaryFiles": {
"System Config": "",
"Boot Patch": "",
"Platform Ext": "",
"Lowerstack Ext": "",
"Upperstack": "",
"Voice Prompt Data": "..\\..\\OTA\\rcfg\\VPData_EcoTime_EVT-3200ca8f36445de2dc360ff7e23f5c6e.bin",
"Backup Data1": "",
"Backup Data2": "",
"OTA Header": "..\\..\\OTA\\BANK0\\OTAHeader_Bank0_v48.208.35.129-1b5e4e648c97483f49995e9fb071a5f1.bin",
"Secure Boot Loader": "..\\..\\OTA\\BANK0\\fsbl_bank0_MP-v2.0.770.0feffa2c-cf534d0df1f925c24f6c5948f06a06b9.bin",
"Stack Patch": "..\\..\\OTA\\BANK0\\stack_patch_4m_bank0_MP-v2.0.694.4747494b-850f6e27f3b7da805e0b80ebd68c06e2.bin",
"Sys Patch": "..\\..\\OTA\\BANK0\\sys_patch_bank0_MP-v2.0.770.0feffa2c-a3bf74eaa43f099f153004e84e63fee7.bin",
"APP": "..\\..\\OTA\\BANK0\\rws_bank0_MP-v3.13.4.897-92ad1cbc-aae64c592be526808ea84cba68f978fb",
"DSP System": "..\\..\\OTA\\BANK0\\dsp_sys_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-0e9483c15b90d16ee8a09b1a937b843d.bin",
"DSP APP": "..\\..\\OTA\\BANK0\\dsp_app_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-f2beac7d19066b9a96348e3aba855de1.bin",
"DSP Config": "..\\..\\OTA\\BANK0\\dsp_config_image-3.130.55.7-26685-V1.6A1.2-RTL8763ESE_MP-23534a823a5ec45838600675848d0853.bin",
"APP Config": "..\\..\\OTA\\rcfg\\APP_Config_EcoTime_EVT-8ffcb9cb436f08cfcb2fd9509cff5573.bin",
"Ext Image 0": "..\\..\\OTA\\BANK0\\ANC2_LLAPT1_brightness_RWS_v2.0.27.19_ANC_RTL8763ESE-aa7fca5c1748f1892b39d26e27a18b7e.bin",
"Ext Image 1": "",
"Ext Image 2": "",
"Ext Image 3": "",
"OTA Header Bank1": "..\\..\\OTA\\BANK1\\OTAHeader_Bank1_v48.208.35.129-d4790c188bc43e96437606988e093e54.bin",
"Secure Boot Loader Bank1": "..\\..\\OTA\\BANK1\\fsbl_bank1_MP-v2.0.770.0feffa2c-44c7386f9371a81b8fecc1dfb989033d.bin",
"Stack Patch Bank1": "..\\..\\OTA\\BANK1\\stack_patch_4m_bank1_MP-v2.0.694.4747494b-be4afb464f3d78dc635b30d2714abac1.bin",
"Sys Patch Bank1": "..\\..\\OTA\\BANK1\\sys_patch_bank1_MP-v2.0.770.0feffa2c-cb7c8ba321d64ad9ffb05cc34725528d.bin",
"APP Bank1": "..\\..\\OTA\\BANK1\\rws_bank1_MP-v3.13.4.897-92ad1cbc-a5380e35c839d35a549a86d0073a0dc4.bin",
"DSP System Bank1": "..\\..\\OTA\\BANK1\\dsp_sys_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-0e9483c15b90d16ee8a09b1a937b843d.bin",
"DSP APP Bank1": "..\\..\\OTA\\BANK1\\dsp_app_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-f2beac7d19066b9a96348e3aba855de1.bin",
"DSP Config Bank1": "..\\..\\OTA\\BANK1\\dsp_config_image-3.130.55.11-26685-V1.6A1.2-RTL8763ESE_MP-c49e9d551070e369280179aa5f61b6d9.bin",
"APP Config Bank1": "..\\..\\OTA\\rcfg\\APP_Config_EcoTime_EVT-8ffcb9cb436f08cfcb2fd9509cff5573.bin",
"Ext Image 0 Bank1": "..\\..\\OTA\\BANK1\\ANC2_LLAPT1_brightness_RWS_v2.0.27.19_ANC_RTL8763ESE-aa7fca5c1748f1892b39d26e27a18b7e.bin",
"Ext Image 1 Bank1": "",
"Ext Image 2 Bank1": "",
"Ext Image 3 Bank1": "",
"User Data1": "",
"User Data2": "",
"User Data3": "",
"User Data4": "",
"User Data5": "",
"User Data6": "",
"User Data7": "",
"User Data8": "",
},
"SecondaryFiles": {
"System Config": "",
"Boot Patch": "",
"Platform Ext": "",
"Lowerstack Ext": "",
"Upperstack": "",
"Voice Prompt Data": "",
"Backup Data1": "",
"Backup Data2": "",
"OTA Header": "",
"Secure Boot Loader": "",
"Stack Patch": "",
"Sys Patch": "",
"APP": "",
"DSP System": "",
"DSP APP": "",
"DSP Config": "",
"APP Config": "",
"Ext Image 0": "",
"Ext Image 1": "",
"Ext Image 2": "",
"Ext Image 3": "",
"OTA Header Bank1": "",
"Secure Boot Loader Bank1": "",
"Stack Patch Bank1": "",
"Sys Patch Bank1": "",
"APP Bank1": "",
"DSP System Bank1": "",
"DSP APP Bank1": "",
"DSP Confi Bank1": "",
"APP Config Bank1": "",
"Ext Image 0 Bank1": "",
"Ext Image 1 Bank1": "",
"Ext Image 2 Bank1": "",
"Ext Image 3 Bank1": "",
}
}
1.2 源代码
#This is a powershell script with extension name ".ps1" which is used for checking if the specified files exist or not
Write-Host "Hello, Powershell script..."
# This is the specific json file
$file_name = "EcoTime_Pack_OTA_bin.json"# Get app file name including absolute directory and print it
$bank0_app_file_name = (Get-Item "./OTA/BANK0/rws*.bin").FullName
echo $bank0_app_file_name# Specify the specific line to be modified
$line_number = 21# Define a temp variable and print its value
$new_content = $bank0_app_file_name
echo $new_content# Define a prefix string
$null_string = " "
# Define a single double quote character
$double_quote_char = "`""
# Define a suffixed string
$suffix_string = ","
$bin_partition_name = "APP"
# Encapsulate the string
$new_content =$null_string + $double_quote_char+ $bin_partition_name + $double_quote_char + ": " + $double_quote_char + $new_content + $double_quote_char + $suffix_string
echo $new_content
# replace "\" with "\\"
$new_content = ($new_content -replace "\\", "\\")
echo $new_content$ERROR_CODE = 1
if (Test-Path $file_name) {
"bin folder exists.^_^ ^_^ ^_^ "
} else {
"bin folder doesn't exist! &__& &__& &__&"
exit $ERROR_CODE
}$lines = Get-Content $file_name
$lines[$line_number - 1] = $new_content
$lines | Set-Content $file_name -Force
1.3 结果
{
"OutputFile": "..\\..\\OTA\\EcoTime_FOTA.bin",
"CombineOrPack": "P",
"ChipSeries": "RTL87X3E",
"FlashMap": "..\\..\\OTA\\flash_map_config\\flash_map.ini",
"PackMode": "PACK_FOR_OTA",
"ImageFolder": "",
"PrimaryFiles": {
"System Config": "",
"Boot Patch": "",
"Platform Ext": "",
"Lowerstack Ext": "",
"Upperstack": "",
"Voice Prompt Data": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\rcfg\\VPData_EcoTime_DVT-0809955a8f9ae46956b0135b7ea8f60e.bin",
"Backup Data1": "",
"Backup Data2": "",
"OTA Header": "..\\..\\OTA\\BANK0\\OTAHeader_Bank0_v48.208.35.129-1b5e4e648c97483f49995e9fb071a5f1.bin",
"Secure Boot Loader": "..\\..\\OTA\\BANK0\\fsbl_bank0_MP-v2.0.770.0feffa2c-cf534d0df1f925c24f6c5948f06a06b9.bin",
"Stack Patch": "..\\..\\OTA\\BANK0\\stack_patch_4m_bank0_MP-v2.0.694.4747494b-850f6e27f3b7da805e0b80ebd68c06e2.bin",
"Sys Patch": "..\\..\\OTA\\BANK0\\sys_patch_bank0_MP-v2.0.770.0feffa2c-a3bf74eaa43f099f153004e84e63fee7.bin",
"APP": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\BANK0\\rws_bank0_MP-v3.13.4.897-92ad1cbc-2b5a73b5afac944fd7ee27f772a69f6f.bin",
"DSP System": "..\\..\\OTA\\BANK0\\dsp_sys_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-0e9483c15b90d16ee8a09b1a937b843d.bin",
"DSP APP": "..\\..\\OTA\\BANK0\\dsp_app_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-f2beac7d19066b9a96348e3aba855de1.bin",
"DSP Config": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\BANK0\\dsp_config_image-3.130.55.11-26685-V1.6A1.2-RTL8763ESE_MP-bc023027ec0164f29ef2d28396c2fec9.bin",
"APP Config": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\rcfg\\APP_Config_EcoTime_DVT-4e008f309de3cbdbf7a89a8d08093ac5.bin",
"Ext Image 0": "..\\..\\OTA\\BANK0\\ANC2_LLAPT1_brightness_RWS_v2.0.27.19_ANC_RTL8763ESE-aa7fca5c1748f1892b39d26e27a18b7e.bin",
"Ext Image 1": "",
"Ext Image 2": "",
"Ext Image 3": "",
"OTA Header Bank1": "..\\..\\OTA\\BANK1\\OTAHeader_Bank1_v48.208.35.129-d4790c188bc43e96437606988e093e54.bin",
"Secure Boot Loader Bank1": "..\\..\\OTA\\BANK1\\fsbl_bank1_MP-v2.0.770.0feffa2c-44c7386f9371a81b8fecc1dfb989033d.bin",
"Stack Patch Bank1": "..\\..\\OTA\\BANK1\\stack_patch_4m_bank1_MP-v2.0.694.4747494b-be4afb464f3d78dc635b30d2714abac1.bin",
"Sys Patch Bank1": "..\\..\\OTA\\BANK1\\sys_patch_bank1_MP-v2.0.770.0feffa2c-cb7c8ba321d64ad9ffb05cc34725528d.bin",
"APP Bank1": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\BANK1\\rws_bank1_MP-v3.13.4.897-92ad1cbc-b86c62518b2588999b5619737915ea58.bin",
"DSP System Bank1": "..\\..\\OTA\\BANK1\\dsp_sys_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-0e9483c15b90d16ee8a09b1a937b843d.bin",
"DSP APP Bank1": "..\\..\\OTA\\BANK1\\dsp_app_image_RTL8763ESE_normal_stereo_V1.1.3.41_MP_Sign-f2beac7d19066b9a96348e3aba855de1.bin",
"DSP Config Bank1": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\BANK1\\dsp_config_image-3.130.55.11-26685-V1.6A1.2-RTL8763ESE_MP-bc023027ec0164f29ef2d28396c2fec9.bin",
"APP Config Bank1": "C:\\GitLab-Runner\\builds\\-P4dEQ2s\\0\\onanoff\\ecotime\\rtl87x3e_mcu_sdk_audioshare_v3.13.3.5-202784\\OTA\\rcfg\\APP_Config_EcoTime_DVT-4e008f309de3cbdbf7a89a8d08093ac5.bin",
"Ext Image 0 Bank1": "..\\..\\OTA\\BANK1\\ANC2_LLAPT1_brightness_RWS_v2.0.27.19_ANC_RTL8763ESE-aa7fca5c1748f1892b39d26e27a18b7e.bin",
"Ext Image 1 Bank1": "",
"Ext Image 2 Bank1": "",
"Ext Image 3 Bank1": "",
"User Data1": "",
"User Data2": "",
"User Data3": "",
"User Data4": "",
"User Data5": "",
"User Data6": "",
"User Data7": "",
"User Data8": "",
},
"SecondaryFiles": {
"System Config": "",
"Boot Patch": "",
"Platform Ext": "",
"Lowerstack Ext": "",
"Upperstack": "",
"Voice Prompt Data": "",
"Backup Data1": "",
"Backup Data2": "",
"OTA Header": "",
"Secure Boot Loader": "",
"Stack Patch": "",
"Sys Patch": "",
"APP": "",
"DSP System": "",
"DSP APP": "",
"DSP Config": "",
"APP Config": "",
"Ext Image 0": "",
"Ext Image 1": "",
"Ext Image 2": "",
"Ext Image 3": "",
"OTA Header Bank1": "",
"Secure Boot Loader Bank1": "",
"Stack Patch Bank1": "",
"Sys Patch Bank1": "",
"APP Bank1": "",
"DSP System Bank1": "",
"DSP APP Bank1": "",
"DSP Confi Bank1": "",
"APP Config Bank1": "",
"Ext Image 0 Bank1": "",
"Ext Image 1 Bank1": "",
"Ext Image 2 Bank1": "",
"Ext Image 3 Bank1": "",
}
}