2011-06-29 8 views
5

Chcę usunąć wszystkie pliki, gdy pierwsze dwa znaki są równe zz lub ZZ, w jaki sposób mogę to zrobić?Usuń pliki, gdy pierwsze dwa znaki są ZZ

+4

co z '*' del zz? –

+0

System NTFS nie rozróżnia wielkości liter, więc del zz * usuwa pliki, nawet jeśli nazwa zaczyna się od zz, zZ, Zz lub ZZ. – vonPryz

+0

która nie działa, ponieważ pliki zz są w różnych podfolderach – Diondk

Odpowiedz

10

Uzyskaj wszystkie obiekty (w tym ukryte, rekurencyjnie) ze ścieżki o nazwach zaczynających się od „ZZ”, odfiltrować obiektów katalogu i usuwać elementy.

Get-ChildItem <path> -Recurse -Force -Filter zz* | Where-Object {!$_.PSIsContainer} | Remove-Item 
+0

dzięki temu działa! – Diondk

+0

Aby uniknąć sprawdzania, gdzie jest obiekt dla nie kontenerów, wystarczy użyć parametru -File do Get-ChildItem 'Get-ChildItem -Recurse -File -Force -Filter zz * | Remove-Item' – rob

-1

NSFileManager * FileManager = [NSFileManager defaultManager]; NSArray * Paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);

// Plik z plikiem dir dei * .txt da preparare NSDirectoryEnumerator * DirFile = [Enumerator FileManagerAtPath: [PathsAtIndex obiektu: 0]];

IFileTxt = [[NSMutableArray alloc] init]; Plik NSString *; while ((plik = [DirFile nextObject])) {

//In your case you need to test substring = "ZZ" 
if ([[file pathExtension] isEqualToString: @"txt"]){ 
    [FileManager removeItemAtPath:[NSString stringWithFormat:@"%@/%@",[Paths objectAtIndex:0],file] error:nil]; 
} 

}

[IFileTxt release];

0
get-childitem zz* | 
    where-object {$_ -cmatch "^(zz|ZZ)"} | 
    foreach-item {remove-item $_.fullname} 
0

Działa to dla mnie:

Remove-Item zz*