我經常想要做的事,如:Powershell的文件和目錄名字符串,SANS裝飾
$foo=ls foo.txt|select FullName
$bar=$foo.split("\\"); # or replace or some such
但是如果我現在看在酒吧的字符串,就像這樣:
@{FullName=C:\path\to\foo.txt}
因爲我知道裝飾品有多久了,所以我可以手動獲取子字符串。但是這似乎很詭異 - 是否有一種方法可以將路徑部分作爲字符串?
編輯:說明另一個類似的問題,根據一些問題,如果我這樣做:
$foo -replace("\\","/")
我得到:
@{FullName=C:/src/tss/THSS-Deployment-Config/foo.txt}
我做很多這樣的文件名的操作的一個不同CM庫之間的遷移。我在想'如果我可以把整個路徑作爲一個字符串'...
這是我第一次進入PS的嚴重郊遊。所以也許我的想法是錯誤的。
您正在將對象視爲一個字符串,在您的情況下不起作用。這是'select -ExpandProperty FullName'和'(gci foo.txt).fullname'的關鍵。你試圖操作的是一個帶有全名屬性的對象,這就是爲什麼你會看到哈希表符號。 – Matt 2015-02-11 18:47:20