![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
基本的な所で間違えていると思いますが、ご容赦ください。
PowerShellで表示される現在のパスが、長いので簡略してパス表記されるようにしたくて
スクリプトを作ってみました。
やりたいことは、PS G:\マイドライブ\XXX1\HOMEPAGE\workspace\test>
とあったときに、PS G:\マイドライブ\・・\test> となるようにしたいです。
作ってみたプログラム:
function prompt () {
# $PATH配列にパスを分割して代入
$PATH = Get-Location -split "\"
# $PATH配列の長さを取得
$PATH_ELEMENT_LENGTH = $PATH.Length
# $PATH配列の長さが3以下の時は、配列をそのまま連結する
if ($PATH_ELEMENT_LENGTH -le 3) {
$PATH -join "\"
}# $PATH配列の長さが4以上の時は、配列[0]と配列[1]と文字列"・・"と配列[-1](配列の最後)を連結して代入
elseif($PATH_ELEMENT_LENGTH -ge 4){
$PATH = $PATH[0..1],"・・", $PATH[-1] -join "\"
}# 必要ないかもしれないがその他の時にエラーメッセージを代入
else {
$PATH = "パスの表示のための操作にエラーが発生しています"
}
# PSの文字列と$PATH配列を連結して表示
"PS" + $PATH + ">"
}
No.1ベストアンサー
- 回答日時:
function prompt {
$path = (Get-Location).Path -split '\\'
$pathLength = $path.Length
if ($pathLength -le 3) {
$path -join '\'
}
elseif ($pathLength -ge 4) {
$shortenedPath = $path[0], $path[1], '..', $path[-1]
$shortenedPath -join '\'
}
else {
"Error: Unable to process path for display"
}
"PS $($shortenedPath -join '\')>"
}
No.2
- 回答日時:
function prompt {
# 現在のパスを取得
$currentPath = Get-Location
# パスを分割
$pathElements = $currentPath -split "\\"
# パスの要素数を取得
$pathLength = $pathElements.Length
# パスの要素数に応じて処理を分岐
if ($pathLength -le 3) {
# 要素数が3以下の場合はそのまま連結
$shortenedPath = $pathElements -join "\"
}
elseif ($pathLength -ge 4) {
# 要素数が4以上の場合は先頭2要素と"・・"、最後の要素を連結
$shortenedPath = $pathElements[0..1] + "・・" + $pathElements[-1] -join "\"
}
else {
# その他の場合はエラーメッセージを表示
$shortenedPath = "パスの表示のための操作にエラーが発生しています"
}
# 簡略化されたパスを表示
"PS $shortenedPath>"
}
この修正を加えたスクリプトを試してみてください。
動くかもしれません?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
"I love you" をかっこよく翻訳してみてください
あなたが考えるいちばんかっこいい "I love you"の訳を教えてください。
-
IT業界より楽に稼げる業界ってあるんですか?銀行とか?
その他(プログラミング・Web制作)
-
プログラミングの雑談とかできるサイトないですか?
その他(プログラミング・Web制作)
-
JRのjsonファイルって使って大丈夫そ?
その他(プログラミング・Web制作)
-
-
4
そのまま使っただけなのに・・・python
その他(プログラミング・Web制作)
-
5
vba クリップボードクリアについて教えてください
その他(プログラミング・Web制作)
-
6
プログラミングで例えばゲームを作る際に、そのコードで何故その画面が表示されるようになってるんでしょう
その他(プログラミング・Web制作)
-
7
chatGPTで次々と質問をしていくコード
その他(プログラミング・Web制作)
-
8
質問失礼します。 プログラム言語を一つも知らないのですが、C♯の勉強をしてみたいです。おすすめの教材
C言語・C++・C#
-
9
プログラミングを教えたいです。そういうSNSないですか?
その他(プログラミング・Web制作)
-
10
卒業研究でよく分からないところがあるので教えて欲しいです。 インバータ用組み込みソフトウェア開発シス
C言語・C++・C#
-
11
C言語 列挙型(enum型)変数について
C言語・C++・C#
-
12
どなたかこのプログラミングを完成させて欲しいです。 ヒントはこちらです↓ 青色:ゲームプログラムのル
C言語・C++・C#
-
13
c言語
C言語・C++・C#
-
14
ものづくりに向いているプログラミング言語ってなんですか?家電にもプログラミングが使われてるとか
その他(プログラミング・Web制作)
-
15
C言語の関数と配列に関する質問
C言語・C++・C#
-
16
Linuxでの開発環境構築や設定のコツ
C言語・C++・C#
-
17
double型が正常に認識されていない恐れ
C言語・C++・C#
-
18
gccを行ってもexeファイルが生成されない
C言語・C++・C#
-
19
WindowsのCapsLock(キャップスロック)って、何の意味があるんですか?
C言語・C++・C#
-
20
Windowsのアプリ開発ってなんのためにするんですか? Excelで入力、更新、表示、検索、削除、
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
RichTextBoxの改行を認知してく...
-
COLUMN(1:1)の意味を教え...
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
【エクセル】 関数による電子...
-
VB.NET 2次元配列
-
VB6で配列を文字列に変換する方...
-
VBAで配列に文字列が入らない?
-
数値を浮動小数点32bitHEXコー...
-
ruby 配列の中の文字列を全部数...
-
エクセルへのデータの貼付時に...
-
○桁にある数値を取得する VB.N...
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
VB6.0-整数と余りを求める
-
processing エラーで、 "cannot...
-
long型のランダムな値を返す方法
-
jsp~jspにhiddenを使って変数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
vbsでテキストファイル内の文字...
-
エクセルへのデータの貼付時に...
-
VBAのWorksheetFunctionの引数...
-
配列の値を置換するにはどうす...
-
VB6で配列を文字列に変換する方...
-
RichTextBoxの改行を認知してく...
-
○桁にある数値を取得する VB.N...
-
ファイルの特定行を取り出したい.
-
COLUMN(1:1)の意味を教え...
-
【エクセル】 関数による電子...
-
VB.NET 2次元配列
-
VBSで特定の文字列が含まれる場...
-
数値を浮動小数点32bitHEXコー...
-
エクセル、この関数の意味は?
-
VB.NET 2つの配列を連動して並...
-
copyRecordsetの数値16桁以上に...
-
VBAで配列に文字列が入らない?
-
in_addrからchar型の文字列の変換
-
初心者が簡単なPowerShellスク...
おすすめ情報