基本的な所で間違えていると思いますが、ご容赦ください。
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で質問しましょう!
似たような質問が見つかりました
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) コードを直していただきたいです。 以下のコードはネットで拾ったものをほんの少しいじった物なのですが、 7 2024/01/10 22:50
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) ファイル名の日付について教えて頂けますかExcel 3 2024/01/06 11:13
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
プログラミング言語の制作方法について
C言語・C++・C#
-
JRのjsonファイルって使って大丈夫そ?
その他(プログラミング・Web制作)
-
IT業界より楽に稼げる業界ってあるんですか?銀行とか?
その他(プログラミング・Web制作)
-
-
4
プログラミングで例えばゲームを作る際に、そのコードで何故その画面が表示されるようになってるんでしょう
その他(プログラミング・Web制作)
-
5
プログラミングの雑談とかできるサイトないですか?
その他(プログラミング・Web制作)
-
6
質問失礼します。 プログラム言語を一つも知らないのですが、C♯の勉強をしてみたいです。おすすめの教材
C言語・C++・C#
-
7
プログラミングで詰まった時って皆さんどうしていますか?
その他(プログラミング・Web制作)
-
8
フォルダを自動作成・移動を複数ファイルに対して行うバッチ処理について
その他(プログラミング・Web制作)
-
9
C言語について。
C言語・C++・C#
-
10
C言語について。
C言語・C++・C#
-
11
Int('1234') で、strをかんたんに整数で扱えちゃうパイソンはどうなってるんですか?
C言語・C++・C#
-
12
どなたかこのプログラミングを完成させて欲しいです。 ヒントはこちらです↓ 青色:ゲームプログラムのル
C言語・C++・C#
-
13
そのまま使っただけなのに・・・python
その他(プログラミング・Web制作)
-
14
卒業研究でよく分からないところがあるので教えて欲しいです。 インバータ用組み込みソフトウェア開発シス
C言語・C++・C#
-
15
c言語
C言語・C++・C#
-
16
Linuxでの開発環境構築や設定のコツ
C言語・C++・C#
-
17
C言語の関数と配列に関する質問
C言語・C++・C#
-
18
ものづくりに向いているプログラミング言語ってなんですか?家電にもプログラミングが使われてるとか
その他(プログラミング・Web制作)
-
19
chatGPTで次々と質問をしていくコード
その他(プログラミング・Web制作)
-
20
gccを行ってもexeファイルが生成されない
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルへのデータの貼付時に...
-
数値を浮動小数点32bitHEXコー...
-
RichTextBoxの改行を認知してく...
-
初心者プログラミング
-
【エクセル】 関数による電子...
-
VB 配列の内容をファイルに書...
-
vbsでテキストファイル内の文字...
-
COLUMN(1:1)の意味を教え...
-
VBSで特定の文字列が含まれる場...
-
VBAのWorksheetFunctionの引数...
-
excelの、ある数式内の{}の意...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
processing エラーで、 "cannot...
-
C言語 列挙型(enum型)変数について
-
ラジオボタンの値の取得につい...
-
VisualStudio2022でC言語プログ...
-
C言語で全角文字を扱いたいので...
-
[VBS]変数を定数に変換する方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
エクセルへのデータの貼付時に...
-
数値を浮動小数点32bitHEXコー...
-
COLUMN(1:1)の意味を教え...
-
初心者が簡単なPowerShellスク...
-
VBAのWorksheetFunctionの引数...
-
VBSで特定の文字列が含まれる場...
-
VB 配列の内容をファイルに書...
-
初心者プログラミング
-
VB6で配列を文字列に変換する方...
-
VBAで配列に文字列が入らない?
-
copyRecordsetの数値16桁以上に...
-
【エクセル】 関数による電子...
-
エクセル、この関数の意味は?
-
○桁にある数値を取得する VB.N...
-
RichTextBoxの改行を認知してく...
-
rubyによる2次元配列形式のデー...
-
ruby 1.8.7 で、多次元配列をソ...
おすすめ情報