如何移动批量移动文件,然后按顺序重命名?

时间:2017-10-31 11:31:04

标签: powershell

要测试,我试图将c:\ Users \ myuser \ Downloads \ test.txt移动到c:\ Users \ myuser \ Documents \ mynewname0001.txt。

目标文件夹路径是动态的,因此对于我的测试我使用变量

我的最终目标是使用GCI + ForEach-Object移动大量文件。但我现在只用一个文件进行测试。

这是我的剧本:

$_test = "c:\Users\myuser\Documents"
$_i = 1

Move-Item -Path "$($_test)\test.txt" -Destination "($($_test)\temp\'newname{0:D4}' -f $_i++)"

这是我遇到的错误

Move-Item : Cannot find drive. A drive with the name '(c' does not exist.

如果我不使用以下命令,我可以移动文件:

Move-Item -Path "$($_test)\test.txt" -Destination "$($_test)\temp\newname.txt"

但我不知道如何用它来引入自动递增代码。

你能帮帮忙吗?感谢

1 个答案:

答案 0 :(得分:1)

尝试分别评估格式字符串:

Move-Item -Path "$($_test)\test.txt" -Destination "$_test\a\$('newname{0:D4}' -f $_i++)"