Walk a directory/Non-recursively: Difference between revisions
Content added Content deleted
(→{{header|TXR}}: Solution with direct directory reading.) |
No edit summary |
||
Line 1,091: | Line 1,091: | ||
exit @.0+rc /*stick a fork in it, we're done.*/</lang> |
exit @.0+rc /*stick a fork in it, we're done.*/</lang> |
||
=={{header|RING}}== |
|||
<lang ring> |
|||
###--------------------------------------- |
|||
### Directory Tree Walk |
|||
### Look for FileType for Music and Video |
|||
fileType = [".avi", ".mp4", ".mpg", ".mkv", ".mp3", ".wmv" ] |
|||
dirList = [] |
|||
musicList = [] |
|||
###--------------------------------------- |
|||
### Main |
|||
###----------------------------------- |
|||
### Start at this directory |
|||
searchVideoMusic("C:\Users\Umberto\") |
|||
see nl +"Number of Music and Videos files: " +len(musicList) +nl +nl |
|||
see musicList |
|||
See nl +"Finished" +nl |
|||
###======================================= |
|||
### Search for Video and Music files |
|||
Func searchVideoMusic(startDir) |
|||
ChDir(startDir + "Music") ### <<<== add Music subpath C:\Users\Umberto\Music |
|||
listDir( CurrentDir() ) |
|||
ChDir(startDir + "Videos") ### <<<== add Videos subpath C:\Users\Umberto\Videos |
|||
listDir( CurrentDir() ) |
|||
for searchDir in dirList ### Search Directory List for Music and Videos files |
|||
listDir(searchDir) |
|||
next |
|||
###============================== |
|||
### Find Files in Directory |
|||
Func listDir(dirName) |
|||
ChDir(dirName) |
|||
Try |
|||
###------------------------------------- |
|||
### Get SubDirectories |
|||
myListSub = Dir( CurrentDir() ) |
|||
Catch |
|||
###------------------------------------- |
|||
### Error, Couldn't open the directory |
|||
See "ListDir Catch! " + CurrentDir() +" --- "+ cCatchError +nl |
|||
return |
|||
Done |
|||
for x in myListSub |
|||
if x[2] |
|||
thisDir = x[1] |
|||
if thisDir[1] = "." |
|||
### Do Nothing. Ignore dot.name |
|||
else |
|||
see nl +"Dir: " + CurrentDir() +"\"+ thisDir + nl |
|||
###---------------------------------------- |
|||
### Directory Walk add to directory list |
|||
Add( dirList, (CurrentDir() +"\"+ thisDir)) |
|||
ok |
|||
else |
|||
thisFile = x[1] |
|||
###------------------------------- |
|||
### Add Music or Video file type |
|||
for thisType in fileType |
|||
if ( substr(thisFile, thisType) ) ### <<<== Type of File from List |
|||
see " File: " + thisFile + nl |
|||
Add(musicList, (CurrentDir() +"\"+ thisFile)) |
|||
ok |
|||
next |
|||
ok |
|||
next |
|||
return |
|||
###=============================================== |
|||
</lang> |
|||
OUTPUT: |
|||
<pre> |
|||
Dir: C:\Users\Umberto\Music\Free YouTube Downloader |
|||
File: stock.mp3 |
|||
File: big_buck_bunny.mp4 |
|||
File: BowieNikolaTesla'ThePrestige'.mpg |
|||
File: BowieTesla'The Prestige'.wmv |
|||
File: Candyman.mp4 |
|||
Dir: C:\Users\Umberto\Videos\Captures |
|||
File: drop.avi |
|||
Dir: C:\Users\Umberto\Videos\Free YouTube Downloader |
|||
File: GaryUSBondsQuarterToThree.avi |
|||
Dir: C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219] |
|||
File: Joe.Versus.The.Volcano[1990].avi |
|||
File: SampleTheMythSanWa2005.mkv |
|||
File: stock.mp3 |
|||
Dir: C:\Users\Umberto\Videos\The Prestige (2006) |
|||
File: BowieNikola'The Prestige'.mp4 |
|||
File: BowieTeslaThe PrestigeConverted.mpg |
|||
File: 027_3xplanet_MDYD-895.avi |
|||
File: 3.mpg |
|||
File: HitomiTanaka[MIDE-219].mp4 |
|||
File: MDYD-868.wmv |
|||
File: MIDE-253.mp4 |
|||
File: MIDE_280.mp4 |
|||
File: PPPD-432.avi |
|||
File: The.Prestige.2006.mkv |
|||
Number of Music and Videos files: 20 |
|||
C:\Users\Umberto\Music\stock.mp3 |
|||
C:\Users\Umberto\Videos\big_buck_bunny.mp4 |
|||
C:\Users\Umberto\Videos\BowieNikolaTesla'ThePrestige'.mpg |
|||
C:\Users\Umberto\Videos\BowieTesla'The Prestige'.wmv |
|||
C:\Users\Umberto\Videos\Candyman.mp4 |
|||
C:\Users\Umberto\Videos\drop.avi |
|||
C:\Users\Umberto\Videos\GaryUSBondsQuarterToThree.avi |
|||
C:\Users\Umberto\Videos\Joe.Versus.The.Volcano[1990].avi |
|||
C:\Users\Umberto\Videos\SampleTheMythSanWa2005.mkv |
|||
C:\Users\Umberto\Videos\stock.mp3 |
|||
C:\Users\Umberto\Videos\Free YouTube Downloader\BowieNikola'The Prestige'.mp4 |
|||
C:\Users\Umberto\Videos\Free YouTube Downloader\BowieTeslaThe PrestigeConverted.mpg |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\027_3xplanet_MDYD-895.avi |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\3.mpg |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\HitomiTanaka[MIDE-219].mp4 |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\MDYD-868.wmv |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\MIDE-253.mp4 |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\MIDE_280.mp4 |
|||
C:\Users\Umberto\Videos\HitomiTanaka[MIDE-219]\PPPD-432.avi |
|||
C:\Users\Umberto\Videos\The Prestige (2006)\The.Prestige.2006.mkv |
|||
Finished |
|||
</pre> |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |