2013-08-27 77 views
1

我寫一個批處理腳本一個簡單的Android應用程序,將拉動引導類路徑,並保存到一個文本文件:使用批處理命令來搜索文本文件,並刪除字符串

adb shell echo $BOOTCLASSPATH > tmp.txt 

此輸出以下的文本文件

/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar:/system/framework/scrollpause.jar:/system/framework/stayrotation.jar:/system/framework/smartfaceservice.jar:/system/framework/abt-persistence.jar:/system/framework/secocsp.jar:/system/framework/sc.jar 

這個問題是我不需要前面的字符串「/系統/框架」被保存到文本。這只是文件的路徑,我不需要它。

那麼如何使用批處理命令來搜索該文件並刪除「/ system/framework /」的所有引用並保存到新文件?

我試過了這個例子無濟於事....

findstr /V "/system/framework" tmp.txt > tmp2.txt 

我也用這個刪除前18個字符只刪除字符串的第一參考...這沒有工作... 。但顯然沒有刪除其他引用....

@echo off 
Set "InputFile=tmp.txt" 
Set "OutputFile=tmp2.txt" 
setLocal EnableDelayedExpansion > "%OutputFile%" 
for /f "usebackq tokens=* delims= " %%a in ("%InputFile%") do (
set s=%%a 
>> "%OutputFile%" echo.!s:~18! 
) 

我如何使用批處理命令在我的文本文件中刪除「/系統/框架/」的每一個實例?

甚至更​​好,我怎麼能提取bootclasspath沒有額外的信息?

感謝, 吉米

回答

1
@ECHO OFF &SETLOCAL 
FOR /f "delims=" %%a IN (tmp.txt) DO SET "BOOTCLASSPATH=%%a" 
SET "BOOTCLASSPATH=%BOOTCLASSPATH:/system/framework/=%" 
ECHO %BOOTCLASSPATH% 

core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.jar:telephony-common.jar:mms-common.jar:android.policy.jar:services.jar:apache-xml.jar:sec_edm.jar:seccamera.jar:scrollpause.jar:stayrotation.jar:smartfaceservice.jar:abt-persistence.jar:secocsp.jar:sc.jar 
相關問題