Android Shellコマンドの結果を、ADB.exe経由のMS-windowscmdでファイルに出力しています。
正しい結果が出力されますが、各結果の間に余分な行があります。インタラクティブ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
試してみてください
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
adb
クライアントプログラムがサポートしている場合でも、すべてのデバイスがsshに触発された-t
および-T
オプションをサポートしているわけではありません。
これはWindows固有ではありません。Unixシステムでも、adb Shell "ls -l" > test.log
は、行末に望ましくない余分なキャリッジリターンを含むファイルを作成します。