Powershell 如何从媒体播放器播放列表中提取路径和文件名以将文件复制到新位置?

Powershell 如何从媒体播放器播放列表中提取路径和文件名以将文件复制到新位置?,powershell,Powershell,我正在尝试编写一个脚本,该脚本将读取windows media播放列表文件,提取播放列表中所有歌曲的路径和文件名,并将这些文件复制到单个文件夹中。我不知道如何去掉$wpl=Get Content“C:\Temp\test.wpl”之间的文本 $wpl = Get-Content "C:\Temp\test.wpl" foreach ($line in $wpl) { If ($line -match "<media src=*") { $file = $line.

我正在尝试编写一个脚本,该脚本将读取windows media播放列表文件,提取播放列表中所有歌曲的路径和文件名,并将这些文件复制到单个文件夹中。我不知道如何去掉
$wpl=Get Content“C:\Temp\test.wpl”之间的文本
$wpl = Get-Content "C:\Temp\test.wpl"

foreach ($line in $wpl) {
    If ($line -match "<media src=*") {
        $file = $line.split("`n")|%{
        $_.split('"')[1]}

        Copy-Item $file "C:\Temp"
    }
}
foreach($wpl中的行){
如果($line-match“用于.m3u文件,则可以使用以下代码执行此操作:

$list = Get-Content "C:\Temp\test.m3u" | ? { $_ -notmatch "^$|^\s+$" }

foreach ($line in $list) {
    If ($line -notmatch '#' ) {
        Copy-Item $line "C:\Temp"
    }
}

我终于让它为m3u文件工作了

    $PlaylistName = Read-Host 'Playlist filename (Include drive and path):'
    $Directory = Read-Host 'Target Directory (Include drive and path):'
    Write-Host "Searching "$PlaylistName" for media files and copying to "$Directory"`n"
    (Get-Content $PlaylistName) | where {$+.trim() -ne "" } | Out-File Temp.txt
    (Get-Content Temp.txt) | Select-String -pattern "#EXTINF:0" -notmatch | Out-File first.txt
    (Get-Content first.txt) | Select-String -pattern "#EXTM3U" -notmatch | Out-File final.txt
    Copy-Item (Get-Content final.txt $Directory

仍然需要大量清理和改进,可能还有gui界面,但我正在做这些工作。

你能展示一下你已经尝试过的东西吗?yetI还没有尝试过任何东西。我只是在学习这些命令,或者我想它们应该被称为cmdlet。我仍然在寻找可以使用哪些命令将信息从文件中获取到其他信息wershell可以使用。除非由于windows media player播放列表文件([']变为[&apos]的存储方式,歌曲标题中有撇号的文件失败,否则几乎可以使用在尝试您的解决方案之前,我一直没有意识到这一点。但后来我发现media player可以创建.m3u播放列表文件,而且它们根本不会操纵文件NEM。现在我只需要找出如何提取任何不以#开头或为空的行。无论如何,这是用于跳转启动的。