的Dropbox已经搞砸了许多文件在我的文件夹,所以这里的情况: 我现在有2名的每个文件我想保留:批量重命名文件和覆盖,如果文件名已经存在(窗口)
1)文件*。
2)文件(家庭-PC的矛盾复制2014年12月4日)。*
文件我想保持是第二个,我想删除的第一个文件,以便最终结果将只有一个名为file。*(first name)的文件和第二个文件的内容。 这发生在许多文件夹中的许多文件,我想批量重命名所有的文件,替换第一个文件。
我一直在使用本网站上的两个文件a.txt中和b.txt(用于实验)这个PowerShell命令尝试:
Get-ChildItem . -include *.txt | Move-Item -Destination { $_.name.Replace("a","b")} -Force
但没有用,PowerShell的不执行任何操作,并抛出如果我不使用-Force,则会出错。 我没有任何PowerShell或命令提示符的经验,但我可以复制/粘贴命令,因为我尝试了上述命令。
我也曾尝试使用其他命令,失败:
Get-ChildItem . -include *.txt | Where-Object { $_.name -match "a$" } | Move-Item -destination { $_.name -replace "a$", "b" }
从我尝试使用这个脚本,它检测文件名是否包含一个括在括号中的单词?我不明白这段代码的一行,但这工作:) :)非常感谢! – Usman 2014-12-06 08:47:22
@Usman - 如果你想了解它是如何工作的,你将不得不学习正则表达式。网上有很多教程。我已经更新了答案来描述它所寻找的模式,并且我添加了一个我认为可能更精确的新版本。 – dbenham 2014-12-06 15:19:19
感谢您的解释和更新的代码:) – Usman 2014-12-07 07:56:31