| View previous topic :: View next topic |
| Author |
Message |
jcamps Junior Member

Joined: 21 Apr 2006 Posts: 30 Location: Breda - Nederland
|
Posted: Fri Apr 21, 2006 9:36 am Post subject: Bestanden zoeken die er niet zijn |
|
|
Lid van het forum, en meteen een leuk probleem-puzzeltje
M'n muziekverzameling is gearchiveerd conform de volgende structuur
\Artiest\Album naam
In de directory albumnaam staan de muziekbestandjes en een .jpg bestand dat de hoes bevat.
Nu wil ik graag weten van welke albums ik géén hoesje heb. Dit is vast te bewerkstelligen met een mooie 'regular expression'. Iemand enige tips?
Gr. Johan _________________ Co-auteur NL interface sinds V1.51eB (februari 1995), zie Help, Over Total Commander... |
|
| Back to top |
|
 |
Rein de Jong Senior Member


Joined: 30 Jan 2005 Posts: 348 Location: NL
|
Posted: Fri Apr 21, 2006 10:21 am Post subject: |
|
|
Ik vraag me af of dat met een RegEx kan.
Wat je wilt in pseudecode is immers:
| Code: | ALS dir(*.jpg) is waar
ALS dir heeft geen subdirs
DOE niets
Anders
DOE niets
Anders
Lijst de directorie
Einde |
TC ondersteund alleen het zoeken in één regel. Dus... Helaas pindakaas. Denk ik.
Ik kan het wel in Rexx of in VBscript. _________________ Groetjes/
______/Rein
--- Moderator NL-forum ---
zie ook: http://www.reindejong.nl/totcmd |
|
| Back to top |
|
 |
jcamps Junior Member

Joined: 21 Apr 2006 Posts: 30 Location: Breda - Nederland
|
Posted: Fri Apr 21, 2006 10:36 am Post subject: |
|
|
Ik kom persoonlijk niet verder dan de eerste regel pseudocode om een naam te matchen....Kun je uberhaupt wel condities nesten in regex?
Gr. Johan _________________ Co-auteur NL interface sinds V1.51eB (februari 1995), zie Help, Over Total Commander... |
|
| Back to top |
|
 |
Rein de Jong Senior Member


Joined: 30 Jan 2005 Posts: 348 Location: NL
|
Posted: Fri Apr 21, 2006 10:47 am Post subject: |
|
|
Dat nesten kan. Met haakjes.
Heb je al op het tabblad plugins gekeken? Daar kan nog veel meer. Daar kon je testen op een waarde die door een content plugin wordt gegeven en dat met meerdere regels. Gewoon op waarde, of met een RegEx. Daar kan _echt_ heel veel! Maar ik weet niet hoe je moet tellen. _________________ Groetjes/
______/Rein
--- Moderator NL-forum ---
zie ook: http://www.reindejong.nl/totcmd |
|
| Back to top |
|
 |
Rein de Jong Senior Member


Joined: 30 Jan 2005 Posts: 348 Location: NL
|
Posted: Fri Apr 21, 2006 11:00 am Post subject: |
|
|
PS.
Pseude code zou moeten zijn:
| Code: | IF dir contains subdirs
Do nothing
IF dir(*.mp3) true
IF dir(*.jpg) true
DO nothing
ELSE
LIST dir-name
END
END
END |
Ik leg dit even voor aan een externe adviseur (Sheepdog  _________________ Groetjes/
______/Rein
--- Moderator NL-forum ---
zie ook: http://www.reindejong.nl/totcmd |
|
| Back to top |
|
 |
white Power Member


Joined: 19 Nov 2003 Posts: 1305 Location: Netherlands
|
Posted: Sat Apr 22, 2006 2:56 pm Post subject: |
|
|
Er van uitgaande dat alle Albumnamen uniek zijn, weet ik wel iets..
- Ga naar de directory waarin de directories van de artiesten staan.
- (Deze stap is belangrijk!) Selecteer de directories van alle artiesten.
Als er geen andere directories staan dan de directories van de artiesten kun je ook alles selecteren (ook de eventueel aanwezige bestanden), bijv. m.b.v. Home, Pijl omlaag, Shift+End.
Je kunt ook alleen die artiesten selecteren die je wilt controleren.
- Kies voor menu Opdracht/Zoek bestand (Alt+F7).
- Ga naar het tabblad Geavanceerd en vink Attributen aan en vink Directory aan (achtergrond moet wit zijn).
- Klik op Start zoeken. Er wordt alleen naar directories gezocht.
- Klik op Naar bestandslijst.
- Zorg dat er in het inactieve panel een lege directory weergegeven wordt. Maak eventueel daarvoor een nieuwe directory aan.
- Selecteer alles (alle zoekresultaten).
- Kies voor kopieeren (F5).
- Type bij 'Alleen bestanden van dit type': *.jpg
- Klik op OK. De directory structuur en de *.jpg bestanden worden nu gekopieerd naar de lege directory.
- Maak het inactieve panel actief (Tab).
- Zorg ervoor dat de Weergave van het panel staat op Lang (druk eventueel op Ctrl+F2).
- Druk op Alt+Shift+Enter. Nu moet je precies kunnen zien welke albums geen hoes hebben en welke wel.
(Bron: Creatief met TC)
In de vertaalde KEYBOARD.txt staat de betekenis van Alt+Shift+Enter.
| Code: |
ALT+SHIFT+ENTER De inhoud van alle directories in de huidige directory wordt opgeteld. De grootte wordt dan weergegeven op de plaats van de string <DIR> (in de 'volledige' weergave).
|
Door de vertaling heeft de uitleg helaas nogal wat aan duidelijkheid ingeboekt.
De originele KEYBOARD.TXT luidt:
| Code: |
ALT+SHIFT+ENTER The contents of all directories in the current directory are counted. The sizes of the directories are then shown in the 'full' view instead of the string <DIR>.
|
_________________ #16626 Personal licence |
|
| Back to top |
|
 |
Sheepdog Power Member


Joined: 18 Dec 2003 Posts: 5155 Location: Berlin, Germany
|
Posted: Sat Apr 22, 2006 3:44 pm Post subject: |
|
|
Maak batchfile met deze inhoud.
Alle folders die mp3 maar geen JPG wil hebben worden geschreven aan c:\liste.txt
(babelfish vertaling)
| Code: | @echo off
for /f "delims=" %%a in ('dir *.mp3 /b /s') do if not exist %%~dpa*.jpg echo %%~dpa >>c:\liste.txt
rem The first part
rem (FOR /F %%A IN ('DIR *.MP3 /B /S')
rem searches the directory and all subdirectories for any file with name "*.mp3"
rem If there is any such file the variable %a ( you have to use in batch files 2 "%" signs)
rem is set to the filename of the mp3-file
rem Thus the "%~dpa" gives the full pathname without a filename.
rem
rem the second part "IF NOT EXIST %%~DPA*.JPG checks if there is in the directory that
rem contains an *.mp3 any *.jpg present.
rem If not the third part "ECHO %%~DPA >>C:\LISTE.TXT" will be executed and
rem add the full path of those directories that do contain an MP3-file but do not contain
rem an *.JPG file to the file C:\Liste.txt
rem
rem So if you run this batchfile more than once the list each time will be expanded
|
_________________ "A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams |
|
| Back to top |
|
 |
jcamps Junior Member

Joined: 21 Apr 2006 Posts: 30 Location: Breda - Nederland
|
Posted: Sun Apr 23, 2006 10:44 am Post subject: |
|
|
@White
Methode werkt, toont de kracht van total commander!
Enige nadeel: als je meerdere albums hebt met dezelfde naam (bv. greatest hits) dan vraagt ie steeds of je het bestaande .jpg bestand wil overschrijven. Je kunt dan achteraf niet herleiden of een van de greatest hits directories een hoesje mist.
Kortom: werkbaar
@Sheepdog
Deze is wel heel erg mooi en werkt perfect. De file geeft een 'hit' voor elk mp3 bestanden in een directory waar geen hoesje in staat. (Dus 12 hits als er 12 mp3 bestanden staan in een directory zonder hoesje). Zeer acceptabel.
Ik heb de batchfile op twee punten aangepast
1-verwijzing naar c:\liste.txt gewijzigd in nocover.txt (zonder harde padnaam)
2-tweede regel gemaakt die naar *.flac bestanden zonder hoesje zoekt.
Heel veel dank!
Gr. Johan _________________ Co-auteur NL interface sinds V1.51eB (februari 1995), zie Help, Over Total Commander... |
|
| Back to top |
|
 |
|