.mp3
我想要做的是使用批处理文件搜索文件夹和子文件夹,以匹配以和结尾的文件名,.wma
然后删除或移动*.wma
重复项。
下面是我到目前为止想到的办法,我知道它至少有两个原因,是错误的。我搜索了互联网,尝试了很多方法,但现在我陷入了困境。有人能帮我解决这个问题吗?
for /r %%f in "(%userprofile%\my music\* - ?.*)" do del "%%f" /s/p
答案1
我不是 Windows 专家,但是福尔菲斯非常简单。
forfiles /p "%userprofile%\my music\" /s /m *.mp3 /C "cmd /c del @[email protected]"
答案2
我可以推荐 powershell 吗?
cd C:\users\Administrator\Desktop\test\
$Afiles = ls *.text
$Bfiles = ls *.txt
$Alist = @()
$Blist = @()
foreach( $A in $Afiles)
{
$Alist += $A.BaseName
}
foreach( $B in $Bfiles)
{
$Blist += $B.BaseName
}
foreach($A in $Alist)
{
if($Blist -contains $a)
{
rm ("$A.text") -WhatIf
}
}
虽然这看起来可能有点复杂,但在我看来它的可扩展性和可重用性更强。
答案3
很抱歉提出这个老问题,但对于将来在这里遇到困难的人来说,请查看这个,它在一个批处理文件中起作用:
@ECHO OFF
FOR %%A IN (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO (DIR /B /S /A-D %%A:\>>FILELIST.TXT) 2>NUL
http://www.ehow.com/how_6926969_remove-files-xp-operating-system.html
答案4
这对我来说非常有用
forfiles /PC:\Projects\QualityPush\ /S /M first.txt /C “cmd /c echo @path” forfiles /PC:\Projects\QualityPush\ /S /M second.txt /C “cmd /c echo @path”
这将为您提供子目录中任何匹配的每个文件的路径,并将它们整理在一起