Suche nach Ordnern, die mit einem Zeichenfenster enden

594
Duffer

Ich habe viele Ordner, ich möchte alle mit 30 enden und in einen anderen Ordner verschieben, geht das problemlos in Windows oder DOS?

Bild

Es ist eine einmalige Aufgabe

0
Es ist eine geplante Aufgabe oder ein Einzelstück? Akina vor 6 Jahren 0
Ich würde Powershell in Betracht ziehen. Sie können eine Powershell-Eingabeaufforderung öffnen und den Befehl move-item (https://docs.microsoft.com/powershell/module/microsoft.powershell.management/move-item) verwenden, der \ * 30 als -Path benötigt. ZB `move-item C: \ test \ * 30 C: \ temp \` HelpingHand vor 6 Jahren 1

2 Antworten auf die Frage

2
S.Leon

Sie können das Powershell-Skript unten verwenden, um Ihre Anforderungen zu erfüllen.

$copy=Get-PSDrive -PSProvider FileSystem | %{ Get-ChildItem $_.Root -directory -Recurse -force -ErrorAction SilentlyContinue| Where-Object {$_.basename -match ".*30$"}} Copy-Item -Path $copy.Fullname -Destination D:\TEST\  

Sie müssen lediglich "D: \ TEST \" im Code in den Pfad ändern, in dem Sie diese Ordner ablegen möchten.

Hinweis: Mit diesem Code werden die entsprechenden Ordner in den neuen Ordner kopiert. Wenn Sie sie in einen neuen Ordner schneiden möchten, müssen Sie das erste "Kopieren" in der zweiten Codezeile in "Verschieben" ändern. Einige Ordner enthalten möglicherweise Systemdateien, und Sie haben möglicherweise keine Berechtigung zum Verschieben.

1
bcs78

Ein einfacher Powershell One-Liner:

PS C:\> Get-ChildItem -Path C:\source\* -Directory -Filter *30 | Move-Item -Destination C:\destination\ 

Verwenden Sie auf der GUI den "*30" kind:=folderFilter im Suchwerkzeug: