目标:
删除文件夹中未在 List.txt 文件中列出的音频文件
读取 List.txt 以与音频文件夹中的文件进行比较,并删除列表中未列出的文件。
List.txt 内容:
05 - Earth Wind and Fire - September (The Reflex Revision).mp3
Electric Light Orchestra - Last Train To London (Bootleg Extended Dance Remix).flac
120 - Kool & The Gang - Get Down On It (Soul Funk House Remix).wav
$files = "C:\Users\$env:username\Desktop\Logs_LUFS\List Audio Files for Normalization.txt"
$location = "C:\Users\$env:username\Desktop\LUFS Audios\"
Get-Content $files | % {
$result = Get-ChildItem -Recurse "$location*$_*"
If(!$result) {
Remove-Item $location* $result.Fullname
}
}
在删除命令中,将出现以下消息:
Cannot bind argument to 'Path' parameter because it is null
当值为 !$Result
true 时,从音频文件夹中删除文件的命令是什么?
PowerShell:删除列表中的文件以外的所有文件
下面是两个适用于此任务的 PowerShell 变体,正如您所描述的那样,我已经根据您提供的详细信息尽可能多地模拟了这些变体。
PowerShell 1
PowerShell 2
支持资源
数组
关于比较运算符
-notin
- 值不在集合中ForEach-对象
如果