| 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]]