使用 Powershell 将顺序编号添加到文件名的开头
Adding sequential numbering to the beginning of file name using Powershell
我的计算机上有一系列 PDF 文件,我正在尝试使用 Powershell 重命名它们,方法是在开头添加一个从 1000 开始的序号,前面加上字母“B”。
当前文件命名:
FileNameA.pdf
FileNameB.pdf
FileNameC.pdf
我想要的:
B1000 - FileNameA.pdf
B1001 - FilenameB.pdf
B1002 - FileNameC.pdf
我尝试使用以下函数来实现:
$count=1000;
dir "C:Temp" | rename-item -newname {"B {0} - {1}" -f $count++, $_.name}
当我这样做时,它会重命名开头带有“B 1000”的所有文件,但不会按顺序对它们进行编号。有人可以帮我弄清楚如何修改这段代码来实现这个吗?
谢谢!
参数绑定脚本块 {"B {0} - {1}" -f $count++,$_.Name}
将 运行 在它自己的范围内,这意味着任何写入变量的尝试(包括 ++
)都会导致 PowerShell 隐藏变量本地副本后面的引用 - 因此,父范围中原始 $count
变量的值将不受影响。
使用 script:
作用域修饰符将 $count
的修改保留在父作用域中以使其起作用:
dir "C:Temp" | rename-item -newname {"B {0} - {1}" -f $script:count++, $_.name}
我的计算机上有一系列 PDF 文件,我正在尝试使用 Powershell 重命名它们,方法是在开头添加一个从 1000 开始的序号,前面加上字母“B”。
当前文件命名:
FileNameA.pdf
FileNameB.pdf
FileNameC.pdf
我想要的:
B1000 - FileNameA.pdf
B1001 - FilenameB.pdf
B1002 - FileNameC.pdf
我尝试使用以下函数来实现:
$count=1000;
dir "C:Temp" | rename-item -newname {"B {0} - {1}" -f $count++, $_.name}
当我这样做时,它会重命名开头带有“B 1000”的所有文件,但不会按顺序对它们进行编号。有人可以帮我弄清楚如何修改这段代码来实现这个吗?
谢谢!
参数绑定脚本块 {"B {0} - {1}" -f $count++,$_.Name}
将 运行 在它自己的范围内,这意味着任何写入变量的尝试(包括 ++
)都会导致 PowerShell 隐藏变量本地副本后面的引用 - 因此,父范围中原始 $count
变量的值将不受影响。
使用 script:
作用域修饰符将 $count
的修改保留在父作用域中以使其起作用:
dir "C:Temp" | rename-item -newname {"B {0} - {1}" -f $script:count++, $_.name}