使用 PowerShell 重命名文件的一部分并添加自动递增,我缺少脚本中的哪些内容导致我的数字递增?
Using PowerShell to rename a portion of a file and add auto-increment, what content in my script am I missing to cause an increment to my numbers?
原始文件名:
XYZ_150014_0101_ABC_01_20150404_FD_v03
XYZ_150014_0101_ABC_01_20150411_FD_v03
XYZ_150014_0101_ABC_01_20150418_FD_v02
XYZ_150014_0101_ABC_01_20150425_FD_v02
我需要将“0101”更新为“01 + [2 位增量值]”,因此它应该如下表所示:
XYZ_150014_0101_ABC_01_20150404_FD_v03
XYZ_150014_0102_ABC_01_20150411_FD_v03
XYZ_150014_0103_ABC_01_20150418_FD_v02
XYZ_150014_0104_ABC_01_20150425_FD_v02
下面是我使用的代码:
$i = 1
Dir|Rename-Item –NewName {$_.name –replace "0101",("01" + "{0:D2}" -f $i);$i=++$i}
不幸的是,这只会将“0101”更新为“0102”,留下增量值。
我也尝试了下面的脚本,得到了与上面脚本相同的响应。
$i = 1
Dir|Rename-Item –NewName {$_.name –replace "0101",("01{0:D2}" -f $i++)}
我缺少什么导致增量发生?
这是一个变量范围问题:查看 Get-Help About_Scope。使用脚本范围,你应该没问题。
$i = 1
Dir xyz*|Rename-Item –NewName {$_.name –replace "0101",("01{0:D2}" -f $script:i++)}
原始文件名:
XYZ_150014_0101_ABC_01_20150404_FD_v03 XYZ_150014_0101_ABC_01_20150411_FD_v03 XYZ_150014_0101_ABC_01_20150418_FD_v02 XYZ_150014_0101_ABC_01_20150425_FD_v02
我需要将“0101”更新为“01 + [2 位增量值]”,因此它应该如下表所示:
XYZ_150014_0101_ABC_01_20150404_FD_v03 XYZ_150014_0102_ABC_01_20150411_FD_v03 XYZ_150014_0103_ABC_01_20150418_FD_v02 XYZ_150014_0104_ABC_01_20150425_FD_v02
下面是我使用的代码:
$i = 1
Dir|Rename-Item –NewName {$_.name –replace "0101",("01" + "{0:D2}" -f $i);$i=++$i}
不幸的是,这只会将“0101”更新为“0102”,留下增量值。
我也尝试了下面的脚本,得到了与上面脚本相同的响应。
$i = 1
Dir|Rename-Item –NewName {$_.name –replace "0101",("01{0:D2}" -f $i++)}
我缺少什么导致增量发生?
这是一个变量范围问题:查看 Get-Help About_Scope。使用脚本范围,你应该没问题。
$i = 1
Dir xyz*|Rename-Item –NewName {$_.name –replace "0101",("01{0:D2}" -f $script:i++)}