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

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

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

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Q&A

解決済

1回答

702閲覧

-join\"`n\"の解説で改行を利用して連結とあるのですが・・・教えてください

takokaina

総合スコア5

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

0グッド

0クリップ

投稿2024/06/06 06:39

実現したいこと

qiitaに自分が学習した内容のまとめをしています。
実現したいプログラムはすでに終わっていますが、
さらにきちんと理解を深めたいので

前提

細かく調べていたのですが、
通常、改行を利用してとするならば
-join"`n"
なるはずですが、

発生している問題・エラーメッセージ

https://teratail.com/questions/254067
の質問のサイトでは
-join"`n"
になっており、解説の方も

区切り文字に改行を利用して、配列を1つの文字列に結合するという意味です。

とあります。

①この前後のバックスラッシュはどのような意味があるのでしょうか?
②前のバックスラッシュは結合に使用する文字を入力するダブルクォーテーションの外側にあります。
こちらは結合に使用する文字と関係なく何か別の意味で置かれているのでしょうか?

該当のソースコード

@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof

補足情報(FW/ツールのバージョンなど)

HP PRObook650 G5
デバイス名 tcHNW21012
プロセッサ Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz 1.99 GHz
実装 RAM 16.0 GB (15.8 GB 使用可能)
デバイス ID 982CABC4-9CA4-4ED1-AA8D-791F7074CB21
プロダクト ID 00330-53430-85345-AAOEM
システムの種類 64 ビット オペレーティング システム、x64 ベース プロセッサ
ペンとタッチ このディスプレイでは、ペン入力とタッチ入力は利用できません

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

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

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

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

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

guest

回答1

0

ベストアンサー

■簡単な説明

①この前後のバックスラッシュはどのような意味があるのでしょうか? 答え:ダブルクォーテーションをエスケープする為に付けます。 ②前のバックスラッシュは結合に使用する文字を入力するダブルクォーテーションの外側にあります。 こちらは結合に使用する文字と関係なく何か別の意味で置かれているのでしょうか? 答え:[コマンドプロンプト] ダブルクォートで囲んだコマンドライン引数内でダブルクォートを使う https://w.atwiki.jp/fumiduki1985/pages/345.html 簡単な説明で申し訳ございません。 詳しくはWEB検索をご利用ください。 [ コマンドプロンプト ダブルクォーテーション エスケープ など ]

投稿2024/06/06 08:45

ccc-

総合スコア356

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

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

takokaina

2024/06/06 14:18

回答ありがとうございます。 試したところ問題が解決しました! ベストアンサーに選ばせていただきました。
takokaina

2024/06/06 14:25

自分でも納得できるように 以下のものを調べました。 ①エスケープ文字/エスケープシーケンス ②joinの用法 通常 $a = "WIND", "S P", "ERSHELL" $a -join "OW" (出力結果)WINDOWS POWERSHELL 出典:https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-7.4 $a = "WIND", "S P", "ERSHELL" $a -join ¥"OW¥" (出力結果)WIND"OW"S P"OW"ERSHELL という理解で大丈夫ですか。 というか いただいたhttps://w.atwiki.jp/fumiduki1985/pages/345.html で自分の理解でいいということが確信できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.40%

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

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

質問する

関連した質問