我有一個文件名列表&文本文件中的一個單獨的文件位置,我想讀入Powershell。輸入文件中有2列用逗號分隔。第一列給出文件共享的全名,包括文件名&第二列在其中包含圖像文件的部分路徑。例如:Powershell - 在兩個不同分隔符上分割字符串
\\myshare\backup\work\folder1\file1.txt,..\image\image1.tif
\\myshare\backup\work\folder2\file2.txt,..\image\image2.tif
\\myshare\backup\work\folder2\file2a.txt,\image\image3.tif
不同的是,與..
圖像文件夾之前的項是相對於其中file_.txt
位於。在上面的例子 -
\\myshare\backup\work\image
將是對同一水平folder1
& folder2
的文件夾。 image1.tif
& image2.tif
將位於上述文件夾中。沒有前面..
的人會是該文件的文件夾的子文件夾中的文件image3.tif
將在此文件夾中:
\\myshare\backup\work\folder2\image\image3.tif
我閱讀的文本文件,如下所示:
Get-Content "C:\Users\username\Documents\workfile.txt" | foreach {
$fn, $location = $_.Split(',')
}
它分裂它沒關係,但我需要再次在斜槓上分割$location
變量(\
)。如果它有..
,我想要做一件事,如果沒有,我會做一件事情。
如何在foreach
循環中第二次(在另一個字符上)再次拆分字符串,並且已經拆分了字符串?我已經嘗試了幾個不同的東西,但每個都給出了錯誤消息,並且不運行。一條消息是「表達式只被允許作爲管道的第一個元素。」如果我嘗試再次分割它(在另一個foreach
循環內),則會丟失兩個變量中的值($fn
&,$location
變量)。
它被稱爲'Import-CSV'和'Split-Path' ..你也在做許多 – Cole9350