フォーラムのみなさま、こんにちは。
初心者で、初歩的な質問ですみません。
Powershellを使って、文字列を送信したく、「代入」で文字列結合をしたいのですが、Powershellのファイル名にダブルコーテーションを入れているためか、うまく文字列結合ができません。
①文字列を結合

②Powershellを呼び出し

※そもそもこの流れであってますでしょうか・・・
ちなみに、文字列はこのような感じのものです。
powershell.exe -ExecutionPolicy RemoteSigned -File “W:\ファイル名.ps1” 変数1 変数2 token ID・PW
①~⑤を空白でつなぎたいです。
①powershell.exe -ExecutionPolicy RemoteSigned -File “W:\ファイル名.ps1”
②変数1
③変数2
④token
⑤ID・PW
代入に①の文字列を入れてみるとエラーがでます。
すみません。教えてください。
どうぞよろしくお願いいたします。
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
2
"powershell.exe -ExecutionPolicy RemoteSigned -File ““W:\ファイル名.ps1"””
というように、二重引用符を繰り返して挿入してはいかがでしょう?
2 Likes
HANACCHIさん
さっそくのご回答、ありがとうございます 
二重引用符を繰り返してみたら、うまい具合に文字列がくっつきました!
長いこと悩みまして、大変助かりました。
とても勉強になりました 
1 Like
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
4
String.Format(“{0} {1} {2}”, “A”,“B”,“”“C”“”)
"{0} {1} {2}"部分も、(見にくいですが)空白を挟んでおくと、置換元文字列での空白は考慮しなくてすみますね。
φ(…)メモメモ
1 Like
さすがですね 
String.Formatは、そういう使い方をするのですね!
ありがとうございます 
なんと!
そういった発想をお持ちの方だとUiPathは簡単なんだろうな、と苦戦しております。
お忙しい中、ありがとうございます 
1 Like
Yoichi
(Yoichi)
8
こんにちは
本題とは異なりますが、このままですとInvoke PowerShell(PowerShellを呼び出し)アクティビティは動作しないと思います。
文字列の通りコマンドラインを実行させるのであれば、Start Processアクティビティを使うか、
あるいはInvoke Powershellを使うのであれば、それに沿った形で使う必要があるかと思います。
前者は実行パスが通るようならこのままで使えると思いますが、非同期実行されるので、時間がかかる処理の場合は何らかの形で待機が必要です。
後者は例えば以下を参照ください。
ご参考まで
2 Likes
Yoichiさん
そうですか 
やはり、、そんなにうまくいかないようですね 
非エンジニアなのであまりよくわかっていないのですが、
コマンドプロンプトだと、Powershellにしてからでないと動作しないので、
Powershellのパーツなら、powershell.exe -ExecutionPolicy・・・を入力したら動くのかなと素人発想だったのですが、、
>それに沿った形
参照ページを読んでみます!
ありがとうございます 
2 Likes
system
(system)
Closed
10
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.