Roo*_*oop 3 string powershell batch-file powershell-2.0 batch-processing
这是我的场景:
我有一个包含很多行的文本文件.每一行都是文件夹的路径.
示例:000.txt
C:\Program Files (x86)\Microsoft Office\Office15
C:\Program Files (x86)\Common Files\Adobe\Acrobat
C:\Program Files (x86)\Common Files\Blizzard Entertainment
Run Code Online (Sandbox Code Playgroud)
我需要找到一种方法来获取每行的最后一个子文件夹的名称,并使用它来创建文件夹链接:
d:\>mklink /j office15 "C:\Program Files (x86)\Microsoft Office\Office15"
d:\>mklink /j acrobat "C:\Program Files (x86)\Common Files\Adobe\Acrobat"
d:\>mklink /j "Blizzard Entertainment" "C:\Program Files (x86)\Common Files\Blizzard Entertainment"
Run Code Online (Sandbox Code Playgroud)
我试过这个:
$a="C:\Program Files (x86)\Microsoft Office\Office15"
$a.Split()[-1]
Run Code Online (Sandbox Code Playgroud)
结果如下:
Office\Office15
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
$a.Split("`t",[System.StringSplitOptions]::RemoveEmptyEntries)[-1]
Run Code Online (Sandbox Code Playgroud)
结果是:
5
Run Code Online (Sandbox Code Playgroud)
如何\使用Batch或PowerShell 获取最后一行或每个单词的最后一个单词?
我假设这些文件夹都已存在,如果是这样,有一种完全不同的方式可以考虑:
Get-Content "000.txt" | Get-Item | foreach-object {
cmd /c mklink /J $_.Name $_.FullName
}
Run Code Online (Sandbox Code Playgroud)
因此,对于每个文件夹名称,您将获得与该文件夹关联的DirectoryInfo对象.然后,您可以直接从Name属性中提取路径的最后部分.
这也有一个好处,如果在尝试链接到目标文件夹之前不存在任何目标文件夹,则会收到错误.
你很接近,但是忘了指定你要拆分字符串的字符,所以它默认为空格:
$a="C:\Program Files (x86)\Microsoft Office\Office15"
$a.Split('\')[-1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10991 次 |
| 最近记录: |