使用 powershell 进行文本操作
text manipulation with powershell
我正在尝试格式化此命令的输出以仅像这样仅获取 dfs 命名空间:
\F-TYPHON\DATA13\AI-Project
我无法使用 Get-DfsnFolderTarget
cmdlet,因为 RSAT-DFS-Mgmt-Con
没有安装在所有服务器上,我无法安装。
$DFSPath="\F-TYPHON\shared\AI-Project"
PS C:\> dfsutil client property state $DFSPath
Active, Online \F-TYPHON\DATA13\AI-Project
Done processing this command.
我已经试过了。
PS C:\> $dfs=dfsutil client property state $DFSPath
PS C:\> $dfs.trimstart("Active, Online")
Method invocation failed because [System.Object[]] doesn't contain a method named 'trimstart'.
At line:1 char:15
+ $dfs.trimstart <<<< ("Active, Online")
+ CategoryInfo : InvalidOperation: (trimstart:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
任何帮助将不胜感激我可以列出文件管理器的所有卷数据,但结构中有很多不连贯的地方,所以我只需要在文件管理器上列出 "shared" 下的共享文件夹,然后使用 dfsutil 对其进行处理获取绝对路径
使用正则表达式匹配dfsutil的文本输出:
$DFSPath="\F-TYPHON\shared\AI-Project"
if ((dfsutil client property state $DFSPath) -match "(?<=\s{2,})\\.*"){
$DFSNameSpace = $Matches.Value
}
- 此处
(?<=\s{2,})\\.*
匹配 lookbehind
中的两个或多个空格 \s
后跟两个(转义的)反斜杠和该行的其余部分。
谢谢你的帮助
我找到了一个解决方案,我可以使用它不是 100% powershell 但我可以使用它以我可以在循环中使用它的格式提取输出,而不是使用 powershell
制作自动 robocopylines
这里是我找到的输出代码
$DFSPath="\F-TYPHON\shared\AI-Project"
$dfspath=(dfsutil 客户端 属性 状态 $DFSPath |findstr /i \F-TYPHON)|out-string
$dfs=$dfspath.Trimstart("Active, Online ")
写主机$dfs
输出是
\F-TYPHON\DATA13\AI-Project
它当然不是最好的,但我可以使用它
如果您有任何其他建议,欢迎
我正在尝试格式化此命令的输出以仅像这样仅获取 dfs 命名空间:
\F-TYPHON\DATA13\AI-Project
我无法使用 Get-DfsnFolderTarget
cmdlet,因为 RSAT-DFS-Mgmt-Con
没有安装在所有服务器上,我无法安装。
$DFSPath="\F-TYPHON\shared\AI-Project"
PS C:\> dfsutil client property state $DFSPath
Active, Online \F-TYPHON\DATA13\AI-Project
Done processing this command.
我已经试过了。
PS C:\> $dfs=dfsutil client property state $DFSPath
PS C:\> $dfs.trimstart("Active, Online")
Method invocation failed because [System.Object[]] doesn't contain a method named 'trimstart'. At line:1 char:15 + $dfs.trimstart <<<< ("Active, Online") + CategoryInfo : InvalidOperation: (trimstart:String) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound
任何帮助将不胜感激我可以列出文件管理器的所有卷数据,但结构中有很多不连贯的地方,所以我只需要在文件管理器上列出 "shared" 下的共享文件夹,然后使用 dfsutil 对其进行处理获取绝对路径
使用正则表达式匹配dfsutil的文本输出:
$DFSPath="\F-TYPHON\shared\AI-Project"
if ((dfsutil client property state $DFSPath) -match "(?<=\s{2,})\\.*"){
$DFSNameSpace = $Matches.Value
}
- 此处
(?<=\s{2,})\\.*
匹配 lookbehind
中的两个或多个空格\s
后跟两个(转义的)反斜杠和该行的其余部分。
谢谢你的帮助 我找到了一个解决方案,我可以使用它不是 100% powershell 但我可以使用它以我可以在循环中使用它的格式提取输出,而不是使用 powershell
制作自动 robocopylines这里是我找到的输出代码
$DFSPath="\F-TYPHON\shared\AI-Project"
$dfspath=(dfsutil 客户端 属性 状态 $DFSPath |findstr /i \F-TYPHON)|out-string
$dfs=$dfspath.Trimstart("Active, Online ")
写主机$dfs 输出是
\F-TYPHON\DATA13\AI-Project
它当然不是最好的,但我可以使用它
如果您有任何其他建议,欢迎