基本上是标题: 如果原始文件名很简单(没有点,破折号等),则脚本可以正常工作。 如果原始文件名包含点等,则脚本将执行两次。
$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,则将前缀和后缀添加两次。 是什么原因造成的?