假设您有变量$source = "C:\temp\one\two\three"
并且您想$destination
以编程方式设置等于$destination = "C:\temp\one\two"
,您会怎么做?
我最好的想法是修剪它,但有更好的方法吗?
也许像
$source = "C:\temp\one\two\three"
$dest = "..$source"
假设您有变量$source = "C:\temp\one\two\three"
并且您想$destination
以编程方式设置等于$destination = "C:\temp\one\two"
,您会怎么做?
我最好的想法是修剪它,但有更好的方法吗?
也许像
$source = "C:\temp\one\two\three"
$dest = "..$source"
正如 Lee 所建议的那样,从 DirectoryInfo 对象中获取父级肯定会起作用。或者,如果您喜欢使用更多 PowerShellesque 命令而不是直接调用 .NET Framework,则可以使用 PowerShell 的内置 Split-Path cmdlet,如下所示:
$source = "C:\temp\one\two\three"
$destination = Split-Path -Path $source -Parent
# $destination will be a string with the value "C:\temp\one\two"
$source = "C:\temp\one\two\three"
$dest = (new-object system.io.directoryinfo $source).parent.fullname
编辑:你可以得到一个DirectoryInfo
目录,get-item
这样你就可以这样做:
$dest = (get-item $source).parent.fullname