我正在透過 ADB.exe 使用 MS-windows cmd 將 android shell 命令的結果輸出到檔案。
它輸出正確的結果,但我在每個結果之間多了一條線。它在互動式 cmd 中看起來很正常(沒有額外的行),但是當它儲存到檔案時,會顯示額外的行。
我正在使用 Notepad++ 查看文件輸出。當查看所有符號時,它在每個列印行的末尾顯示一個 CR(回車符),每個空白行顯示一個 CR LF。
是否可以將結果輸出到文件中而無需額外的行,如果可以,可能是什麼原因導致的?
互動方式,直接輸出到終端
D:\>adb shell "ls -l"
drwxr-xr-x root root 2009-12-31 19:00 acct
drwxrwx--x system cache 2020-03-12 07:14 cache
lrwxrwxrwx root root 1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root root 2009-12-31 19:00 config
重定向到文件
D:\>adb shell "ls -l" > test.log
drwxr-xr-x root root 2009-12-31 19:00 acct
drwxrwx--x system cache 2020-03-12 07:14 cache
lrwxrwxrwx root root 1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root root 2009-12-31 19:00 config
答案1
嘗試
adb shell -T "ls -l" > test.log
或者,如果它抱怨error: device only supports allocating a pty
:
adb shell "ls -l >/data/local/tmp/list"; adb pull /data/local/tmp/list test.log
並非所有裝置都支援 ssh 協定-t
和-T
選項,即使您的adb
客戶端程式支援。
這不是特定於 Windows 的:即使在 Unix 系統上,adb shell "ls -l" > test.log
也會建立一個在行末尾帶有不需要的額外回車符的檔案。