【发布时间】:2017-03-01 13:49:37
【问题描述】:
请记住,我是新手,请保持温和。
我有一个文档 "C:\folder1\folder2\01.03.2017 - FileName.csv" 的完整文件路径,我想对其进行操作以返回文件存储的目录在 (C:\folder1\folder2) 中,减去文件名 (01.03.2017 - FileName.csv)。
我正在尝试使这个模块化,以便无论文件所在的子文件夹数量如何,它都能正常工作;我们也不会提前知道 FileName,所以这需要再次模块化并删除最后一个“\”
有关当前如何构建的背景信息,我从我在 StackOverflow 上看到的上一个问题中截取了一些代码:
Function Get-FileName($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”) |
Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = “All files (*.*)| *.*”
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
} #end function Get-FileName
# *** Entry Point to Script ***
$originalData = Get-FileName -initialDirectory “c:\” | Out-String
Write-Host $originalData
$originalDir = $originalData.Split('\')
$originalDir
当前运行此程序会提示您在 Windows 中看到一个“打开的对话框”。您选择一个文件夹,当前的输出是:
C:\folder1\folder2\01.03.2017 - FileName.csv
C:
folder1
folder2
01.03.2017 - FileName.csv
我尝试了几次不同的-join 尝试,但都没有成功。
我们将输入 C:\folder1\folder2\01.03.2017 - FileName.csv 作为变量 $originalData。
我们希望输出为 C:\folder1\folder2 作为变量 $originalDir。
【问题讨论】:
-
(Get-Childitem itemname).DirectoryName -
这将如何使用?
(Get-ChildItem $originalData).DirectoryName? -
这个给你文件夹路径,试试吧
-
我可能很厚,但我如何将其指向我的数据?
标签: string powershell-3.0