Board logo

标题: [问题求助] PowerShell通过切分取路径中的某一部分 [打印本页]

作者: 5i365    时间: 2022-2-5 20:52     标题: PowerShell通过切分取路径中的某一部分

代码一可以成功取到歌曲名 晴天
代码二歌曲名  晴 天 a,b  中有了空格和符号,就取不到了, 求更稳定的方法, 提前感谢
-----------------------------------------------------------------------

代码一:
$p="C:\Users\Administrator\Desktop\PS检查条件\1\19 周杰伦 - 晴天"
$p.split("\")[-1]

$delim=$p.split("\")[-1].split(" -",[StringSplitOptions]::RemoveEmptyEntries)
$delim[2]
-----------------------------------------------------------------------
代码二:

$p="C:\Users\Administrator\Desktop\PS检查条件\1\19 周杰伦 - 晴 天 a,b"
$p.split("\")[-1]

$delim=$p.split("\")[-1].split(" -",[StringSplitOptions]::RemoveEmptyEntries)
$delim[2]
作者: idwma    时间: 2022-2-5 21:12

  1. $p="C:\Users\Administrator\Desktop\PS检查条件\1\19 周杰伦 - 晴 天 a,b"
  2. $p.split("\")[-1]
  3. $delim=$p.split("\")[-1] -split '[a-z,-]'
  4. $delim[1].trim()
复制代码

作者: 5i365    时间: 2022-2-5 21:55

本帖最后由 5i365 于 2022-2-5 22:01 编辑

回复 2# idwma


    感谢帮忙, 代码二, 我需要提取   

晴 天 a,b    

即-后面的除了一个空格,其它都需要
作者: idwma    时间: 2022-2-5 22:16

回复 3# 5i365
  1. $p="C:\Users\Administrator\Desktop\PS检查条件\1\19 周杰伦 - 晴 天 a,b"
  2. $p.split("\")[-1]
  3. $delim=$p.split("\")[-1].split("-")[1].trim()
  4. $delim
复制代码

作者: 5i365    时间: 2022-2-5 22:35

回复 4# idwma


    多谢帮忙, 取歌名应该很稳了,
但是以前的分割方式,如果歌名中没有空格和字符的话, 可以用下面的方法分别取序号和歌手名和歌名, 现在有简单点的方法取序号和歌手名吗?
$delim[0]
$delim[1]
$delim[2]
作者: idwma    时间: 2022-2-5 23:15

  1. $p="C:\Users\Administrator\Desktop\PS检查条件\1\19 周杰伦 - 晴 天 a,b"
  2. $p.split("\")[-1]
  3. $delim+=@($p.split("\")[-1].split("-")[0].trim().split(" "))
  4. $delim+=@($p.split("\")[-1].split("-")[1].trim())
  5. $delim[0]
  6. $delim[1]
  7. $delim[2]
复制代码
回复 5# 5i365




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2