3

То, что я хочу сделать, - это иметь папки и подпапки для пакетного поиска файлов, для сопоставления имен файлов, оканчивающихся на .mp3 и .wma и удаления или перемещения дубликатов *.wma .

Ниже вы найдете то, что я придумал до сих пор, я знаю, что это неправильно по крайней мере по двум причинам. Я искал в Интернете, и попробовал несколько вещей, но теперь я застрял. Может кто-нибудь, пожалуйста, помогите мне с этим?

for /r %%f in "(%userprofile%\my music\* - ?.*)" do del "%%f" /s/p

4 ответа4

1

Могу я порекомендовать 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
    }
}

хотя это может показаться немного более сложным, это гораздо более расширяемое и многократно используемое ИМХО.

1

Извините, что поднял этот старый вопрос, но для тех, кто спотыкается здесь в будущем, проверьте это, это работает в пакетном файле:

@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

0

это сработало очень хорошо для того, что мне нужно

forfiles /P C:\Projects\QualityPush\ /S /M  first.txt /C "cmd /c echo @path"
forfiles /P C:\Projects\QualityPush\ /S /M  second.txt /C "cmd /c echo @path"

Это даст вам путь к каждому файлу для любых совпадений в подкаталогах и сохранит их вместе

0

Я не гуру Windows, но forfiles довольно прост.
forfiles /p "%userprofile%\my music\" /s /m *.mp3 /C "cmd /c del @relpath@fname.wma"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .