我有一个文件名列表&文本文件中的一个单独的文件位置,我想读入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