
基本的な所で間違えていると思いますが、ご容赦ください。
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ランキング
-
画像生成AIのプロンプトの作り...
-
vba 正規表現について教えてく...
-
pythonでのローカルファイルか...
-
if関数とは?
-
プログラム言語
-
今のプログラミング言語
-
vba クリップボードクリアにつ...
-
itエンジニアに就職希望で未経...
-
Pythonのエラーメッセージをコ...
-
P2P地震速報のEEW APIの仕様書...
-
著作権法について
-
プログラミングについて
-
自作scratch アニメの商用利用
-
Geminiフォーム 画像生成で 人...
-
数学、プログラミング、物理、...
-
Python 3.12.2 か一番最新のパ...
-
MOVEコマンドでサブフォルダー...
-
AIがプログラムする時代のプロ...
-
pythonについて(初心者です)
-
pythonでhtmlファイルの指定文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
excelの、ある数式内の{}の意...
-
COLUMN(1:1)の意味を教え...
-
配列の値を置換するにはどうす...
-
エクセル、この関数の意味は?
-
初心者プログラミング
-
RichTextBoxの改行を認知してく...
-
エクセルへのデータの貼付時に...
-
配列に入った文字列を結合した...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
列数の多いエクセルのデータを...
-
VB 配列の内容をファイルに書...
-
basp21のアップロード
-
C#の問題です。 文字列型の配列...
-
PythonでLoopを使って配列内の...
-
何故ただのvariant型と定義され...
-
シートからシートへのコピー
-
in_addrからchar型の文字列の変換
おすすめ情報