Wie entferne ich den gleichen Teil eines Dateinamens für viele Dateien in Windows? (Power Shell)

0

Es tut mir leid, das zu posten, ich habe nicht den Ruf, die Frage in den Kommentaren des Beitrags zu stellen. Ich habe dies in einem Thread (siehe Link unten) darüber gelesen, wie man Dateien mit Power Shell umbenennt. Mein besonderer Fall war es, den Charakter am Ende zu entfernen.

(Übrigens bin ich nicht mit PowerShell vertraut, also erbarme dich meiner für die einfache Frage).

Wie entferne ich den gleichen Teil eines Dateinamens für viele Dateien in Windows 7?

Ich benutze es das erste Mal und hat einwandfrei funktioniert. Beim zweiten Mal bekam ich folgende Fehlermeldung:

Rename-Item : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'NewName'. Specified
method is not supported.
At line:1 char:69
+ ... df | ForEach-Object { Rename-Item $_$_.name.replace("-Layout1", "") }
+                                                        ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Rename-Item], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.RenameItemCommand

Ich verstehe nicht, was falsch ist, seitdem das erste Mal gearbeitet hat. Kann mich bitte jemand führen?

Vielen Dank, dass Sie diese Website großartig gemacht haben!

Enzo Cardinal
quelle
2
Fehlender Abstand zwischen $_ und $_.name.replace("-Layout1", "")
JosefZ

Antworten:

2

Sie sollten mindestens den vollständigen fehlgeschlagenen Befehl posten.

Aus der Fehlermeldung sehe ich, dass ein Leerzeichen zwischen den beiden fehlt $_$_

Sollte sein

... | ForEach-Object { Rename-Item $_ $_.Name.replace("-Layout1", "") }
LotPings
quelle
Guter Fang auf dem fehlenden Platz. Ich habe mich gefragt, warum "ForEach-Object" in der Fehlermeldung nicht einfach so vorkommt wie die verknüpfte Frage zum Umbenennen von MP3s. Möglicherweise formatiert die Fehlermeldung den ursprünglichen Befehl neu? Das verbatim verwendete Kommando zu posten wäre sehr hilfreich, um es zu debuggen, ein toller Vorschlag.
Blaelph