質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

Q&A

解決済

1回答

4984閲覧

UWSCでクリップボードの文字をファイルに書き出すことができない

ratera

総合スコア54

UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

0グッド

0クリップ

投稿2019/02/10 05:40

UWSCでクリップボードの文字をファイルに書き出すことができません。

以下のコードのうち、//pasteTmp=7の箇所のコメントアウトを解除すると、書き出すことはできました。
pasteTmpに同じ値を与えたとき(当然cmdLine は同じ値になります(fig1,fig2)が)、
出力のDOSCMD(cmdLine)の挙動が変わるのは納得がいきません。

//クリップボードからの文字列を取得 copyTmp=GETSTR(0) print copyTmp+"<#CR><#CR>" //C:\temp.txtにファイルを作成 FNAME = "C:\temp.txt" //クリップボードの文字列書き込み。複数行あるため、1行ずつ取得する pasteTmp=token(chr(10),copyTmp) WHILE !(pasteTmp = "") //pasteTmp=7 ※コメントアウトを解除すると、ファイル書き込みが行われる cmdLine="echo "+pasteTMP+" >> " + FNAME DOSCMD(cmdLine) pasteTmp=token(chr(10),copyTmp) WEND

fig1.コメントアウト時のcmdLineの値:
イメージ説明

fig2.コメントアウトしない時のcmdLineの値:
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

改行コードの問題でした。

windowsの改行はCR+LFとのことで、区切り文字をCRだけだとLFがまざってしまっているので
LFを除去しなければなりませんでした。

例えば、pasteTmpには2<#13>の文字がセットされていたので
以下を加えることで解決しました。
pasteTmp = REPLACE(pasteTMP, chr(13), "" ) //LFを削除

//クリップボードからの文字列を取得 copyTmp=GETSTR(0) print copyTmp+"<#CR><#CR>" //C:\temp.txtにファイルを作成 FNAME = "C:\temp.txt" //クリップボードの文字列書き込み。複数行あるため、1行ずつ取得する pasteTmp=token(chr(10),copyTmp) WHILE !(pasteTmp = "") //pasteTmp=7 pasteTmp = REPLACE(pasteTMP, chr(13), "" ) //CRを削除 cmdLine="echo "+pasteTMP+" >> " + FNAME //cmdLine="echo "+2+" >> " + FNAME DOSCMD(cmdLine) //DOSCMD("echo 1 >> " + FNAME) pasteTmp=token(chr(10),copyTmp) print cmdLine WEND print "stop"

投稿2019/02/10 06:22

ratera

総合スコア54

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問