如果原始文件具有特殊字符,则Powershell重命名将执行两次

时间:2019-10-08 22:59:05

标签: powershell rename prefix suffix

基本上是标题: 如果原始文件名很简单(没有点,破折号等),则脚本可以正常工作。 如果原始文件名包含点等,则脚本将执行两次。

$PREF1 = Read-Host -Prompt 'Input PREF1'
$PREF2 = Read-Host -Prompt 'Input PREF2'
$PREF3 = Read-Host -Prompt 'Input PREF3'
$PREF4 = 'B'
$PREFIX = 'A'
$PREFIX += '[' + $PREF1 + ']' + $PREF4 + '[' + $PREF2 + ']' + '[' + $PREF3 + ']'
$SUFFIX = Get-Date -f yyyyMMdd
$ScriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent

Write-Host Prefix: $PREFIX.ToUpper()
Write-Host Suffix: _$SUFFIX

Get-ChildItem -Path $ScriptDirectory *.ods | Rename-Item -NewName { $PREFIX.ToUpper() + $_.Name -replace ".ods", "_$SUFFIX.ods"}

因此正确的方法如下所示: 我有一个名为X的文件,该脚本在文件名中添加了可自定义的前缀和后缀。 如果文件名为X.Y,则将前缀和后缀添加两次。 是什么原因造成的?

编辑:错字

0 个答案:

没有答案