Я пытаюсь написать пакетный файл, который поддерживает файлы с моего телефона Android на моем компьютере. Часть этого процесса заключается в том, что мой телефон генерирует список файлов в виде текстового файла с использованием моста отладки android, а затем проверяет его на текстовый файл, содержащий список файлов из архива 7zip, на который я поддерживаю свой телефон.Пакетный файл разбор текстового файла из UNIX
Проблема заключается в том, что список файлов, сгенерированный с использованием моста отладки android, не выглядит корректно.
"C:\%USERPROFILE%\adb\adb.exe" shell ls /sdcard/TWRP/BACKUPS/0149BCAA1301701A > androidlist2.txt
"C:\Program Files\7-zip\7z.exe" l TWRPBackups.t7z > archivelist.txt
type archivelist.txt | findstr TWRP\BACKUPS\0149BCAA1301701A\ > results.txt
del archivelist.txt
setLocal EnableDelayedExpansion
FOR /F "tokens=* usebackq" %%c IN (results.txt) DO (
SET RESULT=%%c
SET RESULT=!RESULT:~83!
REM Writes the trimmed line to the output file
ECHO !RESULT!>>"archivelist2.txt"
)
findstr /V /L \ archivelist2.txt >> archivelist.txt
findstr /V /L * androidlist2.txt >> androidlist.txt
del results.txt
del archivelist2.txt
findstr /vixg:"archivelist.txt" androidlist.txt > discrepancies.txt
for /f "tokens=*" %%j in (discrepancies.txt) do (
"C:\%USERPROFILE%\adb\adb.exe" pull /sdcard/TWRP/BACKUPS/0149BCAA1301701A/%%j/ TWRP/BACKUPS/0149BCAA1301701A/%%j
)
Я знаю, что мой код - ужасный клоч; Я новичок в этом. Но то, что я делаю в первых двух строках, - это вытаскивание списков файлов в виде текстовых файлов из оболочки Android Android и из архива 7zip соответственно. После этого я обрезаю их оба, чтобы оставить только имена файлов и сравнить текстовые файлы для расхождений.
Проблема заключается в последнем шаге, читающем discrepancies.txt и вытягивании соответствующих файлов с телефона. Я заметил, что если я вручную перейду в discrepancies.txt и заменим строки (перейдите в конец каждой строки, нажмите «Удалить», нажмите «Ввод»), затем файл правильно проанализирует. Как избежать или устранить эту проблему?
Каких linebrakes вы изначально имеют: 'CR',' 'LF', CRLFCR' .....? Вы можете видеть это, например. '' Notepad ++. – Endoro
CR и CRLF, по-видимому. Notepad ++ показывает: '2013-05-16--10-14-52 [CR] [CR] [LF] 2013-05-18--10-59-11 [CR] [CR] [LF] 'в файле с моста отладки android. – Firnagzen