前提
設備付属の専用PC(PC-A)と、一般PC(PC-B)があります。
PC-A:
Windows10Pro
スタンドアロン運用でLAN接続が不可能。
ソフトウェアのインストールが不可。
PC-B:
Windows10Enterprise。
グループポリシーによりUSBメモリ等の外部ストレージがブロックされ認識できない。
PC-AとPC-B間のCOM通信は可能。RS232Cや、BluetoothのSPPが使えそう。
実現したいこと
PC-Aで生成されるテキストファイルを、PC-Bへ転送したい。
手段は以下のどちらでも良い。
1.ファイルそのものを転送する。
2.ファイル内の文字列を転送する。
ここで言うテキストファイルは、タブ区切りtxtやカンマ区切りcsvを意味する。
今回は、2.ファイル内の文字列を転送する。をやってみた。
発生している問題・エラーメッセージ
エラーはない。
改行が無くなり1行で転送されてしまう事が問題。
該当のソースコード
Windows PowerShell
ソースコード PC-A(送信側)
$serialPorts = [System.IO.Ports.SerialPort]::GetPortNames(); $str = Get-content "C:\temp\test.csv" #echo($str) $com = New-Object System.IO.Ports.SerialPort "COM8", 4800, ([System.IO.Ports.Parity]::Odd),7,([System.IO.Ports.StopBits]::One) $com.WriteBufferSize = 4800 $com.DtrEnable = $true $com.RtsEnable = $true $com.Handshake=[System.IO.Ports.Handshake]::RequestToSend $com.NewLine = [Char]0x0D + [Char]0x0A $com.Encoding=[System.Text.Encoding]::GetEncoding("Shift_JIS") $com.Open() Start-Sleep -m 500 $com.WriteLine($str) Start-Sleep -m 500 $com.Close() $com.Dispose()
#ソースコード PC-B(受信側)
$com = New-Object System.IO.Ports.SerialPort "COM7" $com.Encoding=[System.Text.Encoding]::GetEncoding("Shift_JIS") $com.Open() Start-Sleep -m 500 $str = $com.ReadLine() #$str = $com.Read echo ($str) $com.Close() $com.Dispose() pause
試したこと
PC-B(受信側)は、他の言語(LabVEIW,VBA)で受信させてみても同様、改行が無くなってしまう。
PC-A(送信側)で、echo($str)によりテキストファイルから読み取った内容の表示させたところ、改行されていた。
よって改行が消えるのは送信時か受信時だと思う。
補足事項
PC-Aにソフトウェアのインストールが不可のため、Windows10標準のPowerShellを使ってみました。言語にこだわりはありません。
初歩的な質問でお恥ずかしい限りです。アドバイスいただけたら幸いです。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。