Ich habe versucht, einige Dateien mit dem Powershell-Skript unterPowershell Rohr in string
powershell.exe "& { Get-ChildItem *.txt | Rename-Item -NewName { $_.name -Replace '.txt','.csv' } }"
umbenennen Aber die $_.name
scheint analysiert zu werden, wenn die "& command"
ausgeführt wird, so klagt er, dass es nicht .name
weiß (mit die $_
bereits entfernt). Die Ausführung ohne den äußeren String behebt das Problem, ist aber aus anderen Gründen in meinem Fall nicht möglich.
Wie aus dem zu entkommen?
Sind Sie dies von Powershell ausgeführt wird? Wenn dies der Fall ist, brauchen Sie den 'Powershell '& {...}" '-Wrapper nicht. Führen Sie den Befehl direkt aus. Andernfalls sollte das '$ _' nicht erweitert werden. –
Verwenden Sie einfache Anführungszeichen für die äußere Zeichenfolge und doppelte Anführungszeichen innerhalb? –
Wie führen Sie diesen Befehl aus? Mit PSv5 funktioniert es wie erwartet, wenn ich es von CMD ausführe ... –