文字列結合でダブルコーテーションを使いたい

フォーラムのみなさま、こんにちは。
初心者で、初歩的な質問ですみません。

Powershellを使って、文字列を送信したく、「代入」で文字列結合をしたいのですが、Powershellのファイル名にダブルコーテーションを入れているためか、うまく文字列結合ができません。

①文字列を結合
image

②Powershellを呼び出し
image
※そもそもこの流れであってますでしょうか・・・

ちなみに、文字列はこのような感じのものです。
powershell.exe -ExecutionPolicy RemoteSigned -File “W:\ファイル名.ps1” 変数1 変数2 token ID・PW

①~⑤を空白でつなぎたいです。
①powershell.exe -ExecutionPolicy RemoteSigned -File “W:\ファイル名.ps1”
②変数1
③変数2
④token
⑤ID・PW

代入に①の文字列を入れてみるとエラーがでます。
すみません。教えてください。

どうぞよろしくお願いいたします。

"powershell.exe -ExecutionPolicy RemoteSigned -File ““W:\ファイル名.ps1"””
というように、二重引用符を繰り返して挿入してはいかがでしょう?

2 Likes

HANACCHIさん
さっそくのご回答、ありがとうございます :bowing_woman:
二重引用符を繰り返してみたら、うまい具合に文字列がくっつきました!
長いこと悩みまして、大変助かりました。
とても勉強になりました :woman_student:

1 Like

String.Format(“{0} {1} {2}”, “A”,“B”,“”“C”“”)

"{0} {1} {2}"部分も、(見にくいですが)空白を挟んでおくと、置換元文字列での空白は考慮しなくてすみますね。

φ(…)メモメモ

1 Like

さすがですね :star_struck:
String.Formatは、そういう使い方をするのですね!
ありがとうございます :rainbow:

実は知らなかった。やってみたら出来た。

これ、内緒ね(^^♪

1 Like

:exploding_head:なんと!
そういった発想をお持ちの方だとUiPathは簡単なんだろうな、と苦戦しております。
お忙しい中、ありがとうございます :smiley:

1 Like

こんにちは

本題とは異なりますが、このままですとInvoke PowerShell(PowerShellを呼び出し)アクティビティは動作しないと思います。
文字列の通りコマンドラインを実行させるのであれば、Start Processアクティビティを使うか、
あるいはInvoke Powershellを使うのであれば、それに沿った形で使う必要があるかと思います。

前者は実行パスが通るようならこのままで使えると思いますが、非同期実行されるので、時間がかかる処理の場合は何らかの形で待機が必要です。

後者は例えば以下を参照ください。

ご参考まで

2 Likes

Yoichiさん
そうですか :sweat_drops:
やはり、、そんなにうまくいかないようですね :pensive:

非エンジニアなのであまりよくわかっていないのですが、
コマンドプロンプトだと、Powershellにしてからでないと動作しないので、
Powershellのパーツなら、powershell.exe -ExecutionPolicy・・・を入力したら動くのかなと素人発想だったのですが、、

>それに沿った形
参照ページを読んでみます!

ありがとうございます :bowing_woman:

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.