1
 2
 3
 4
 5
 6
 7
 8
 9
10
| startDir queue |
startDir := FileDirectory default.
queue := OrderedCollection with: startDir.
[queue notEmpty] whileTrue: [
   | dir subDirs fileNames |
   dir := queue removeFirst.
   subDirs := dir directoryNames collect: [:dirName | dir directoryNamed: dirName].
   queue addAll: subDirs.
   fileNames := dir fileNames select: [:fileName | fileName endsWith: '~'].
   fileNames do: [:fileName | dir deleteFileNamed: fileName]]