2017-01-24 4 views
0

Ich weiß, diese Frage wurde bereits von jemandem gestellt, aber ich werde erneut fragen. Kann mir jemand sagen, wie in Bulk und in aufsteigender Reihenfolge umbenennen, wenn möglich in CMD. Ich habe bereits versucht, in Powershell umzubenennen, aber ohne Erfolg. Es lässt mich nur einmal verwenden und ich muss einen anderen Ordner Dateien umbenennen, aber ohne Erfolg. Es hat nicht erlaubt, Dateien in einem anderen Ordner umzubenennen. Dies ist der Code, den ich in Powershell verwenden:Umbenennen von Dateien in großen Mengen und in aufsteigender Reihenfolge in CMD

$i = 1 
Get-ChildItem *.mkv | %{Rename-Item $_ -NewName ('Haikyuu - {0:D2}.mkv' -f $i++)} 

ich meine Anime-Serie pro Ordner und einige meiner Kopien haben Videos 100+ umbenennen. und irgendwie könntest du mir beibringen, was jeder Code bedeutet (der Code, der in CMD verwendet werden muss). Die, die ich gesucht habe, können es nicht im Laienausdruck verstehen oder sagen dem Benutzer nicht, wie es funktionieren soll. Vielen Dank im Voraus. Der Ordner befindet sich übrigens auf einem externen Laufwerk.

+0

Sie sagen, in 'cmd' anhängen, so dass Sie wollen einen haben [tag: Batch-Datei] oder eine' cmd' One-Liner? Was meinst du mit "aufsteigender Reihenfolge" - alphabetisch oder alphanumerisch? 'cmd' Befehle sind nur in der Lage, um die letzteren zu erreichen, benötigen Sie eine gewisse Menge an Code; Ein klares Muster für die Eingabedateien würde helfen, die Menge an Code zu reduzieren ... – aschipfl

Antwort

0

so von Anfang an:

i $ = Variable zum Speichern des Anfangswertes 1

Get-ChildItem = ist wie "dir", das die Dateien und Ordner unter einem bestimmten Pfad auflistet .

In diesem Fall listet es alle Dateien auf, die mit allem beginnen, aber die Erweiterung .mkv haben * zeigt Wildcard an.

| = Pipeline, die die Ausgabe des ersten Befehls als Eingabe für den nächsten Befehl übergibt.

% = ForEach-Object wiederholt jedes einzelne Objekt, das aus der Pipeline kommt.

$ _ = Aktuelles Pipeline-Objekt. Hier nimmt jedes Objekt einzeln und Umbenennung mit Rename-Item

-newname = ist der Parameter des Rename-Item, das für fragt den neuen Namen zu übergeben.

Hoffe es klärt Ihr Bedürfnis.

+0

Rutta Ich kenne den Powershell-Code bereits in einigen Tutorials. Ich hoffe, Sie können mir einen Code geben, der in CMD verwendet werden kann und mir beibringen, wie jeder Code verwendet wird. – BlackSkull

+0

und kann ich Sie fragen, warum kann ich den Powershell-Code nur einmal verwenden? – BlackSkull

+0

@BlackSkull Sie klar, verstehen diesen Powershell-Code nicht, wenn Sie denken, es kann nur einmal verwendet werden. Ich bin mir nicht sicher, was Sie erwarten, und wie es in einem anderen Verzeichnis scheitert, also ist es schwierig, Sie zu führen. – notjustme

0

Der Grund, warum ich meine Videodateien nicht umbenennen kann, ist [Klammern] auf dem Dateinamen. So verwende ich diese:

Get-ChildItem -Recurse -Include *.mkv | Rename-Item -NewName { $_.Name.replace("[","").replace("]","").replace("(","").replace(")","") } 

die auf der gleichen Verzeichnisse, ich Unterordner zugreifen können Klammern und parethesis wegzulassen. dann gehe ich mit dem obigen Code in der Frage weiter, um meine Dateien in jedem Ordner umzubenennen. Der Grund, warum ich die "Umbenennung" pro Ordner mache, ist, dass jeder Ordner eine andere Anime-Serie ist. aber der Code oben funktioniert. Wenn jemand mir weniger Code geben kann, als das Ersetzen und Verketten zu wiederholen, werde ich das gerne annehmen und als beste Antwort wählen. :)

0

Wenn Sie für die Quelle den Parameter -LiteralPath verwenden, ist keine vorherige Umbenennung erforderlich.

%i = 1 
Get-ChildItem *.mkv | 
    ForEach {Rename-Item -LiteralPath "$_" -NewName ('Haikyuu - {0:D2}.mkv' -f $i++)} 

eine Andeutung auf das Sortieren, hoffen I Die vorliegende Numerierung der Quelldateien eine konstante Breite hat, ansonsten wird das Ergebnis als ein alphabetisches Sortieren gemischt (die NTFS Format inhärent ist) wird die Zahl 10 sortieren vor 2

um dies zu überprüfen, um den Parameter -whatif auf den Befehl Rename-Item

Verwandte Themen