【发布时间】:2020-12-30 17:28:30
【问题描述】:
与此类似:Move Movies of different Encodes to a common Folder with original Movie Title
我有一系列 PSB 和 Png 导出文件,我希望将它们全部移到公共目录中。我不在乎它是 PowerShell 还是 Bash。我在上面那个链接上尝试了两种解决方案,但都没有奏效。我的问题至少看起来是一个更简单的问题,尽管我找不到解决方案....
我有几个文件格式如下:
文件名1.psb 文件名2.psb 文件名3.psb 文件名4final.gammaOMega.psb Example3.psb Example4.png
它们可能不都在同一个文件夹中,也不都有相同的大小写,并且文件名中可能包含随机字符或空格。有时也可以使用数字零、空格或特殊字符来代替数字。但是,我可以保证命名约定的前 4-7 个字符在所有文件中都是相同的字母。它们都在我的 Onedrive 文件夹中,只是可能不都在同一个子文件夹中。
我的目标是将文件夹中的所有文件合并到公共文件夹中,如下所示:
| File | Folder |
|---|---|
| Filename1.psb | Filename |
| Filename2.psb | Filename |
| filename3.psb | Filename |
| Filename4final.gammaOMega.psb | Filename |
| Example3.psb | Example |
| Example4.png | Example |
因为我偶尔会出错并使用可能是不同版本的相同文件名,而不是覆盖,所以我更喜欢保留两个副本并将后面的文件重命名为 .1.psb、.2.psb 等等等。如果名称、大小和修改日期相同,则可以覆盖该文件。
在 Windows 10 中,最好的解决方案是什么?我什至不在乎是否有一个简单的批处理文件解决方案。
是否也可以设置一个标志来忽略 OneDrive 文件夹中的某些目录?
【问题讨论】:
-
如果
FilenameX1.png存在,它会去哪里? -
在该示例中,它将进入“FilenameX”文件夹。
-
在这种情况下,@NathanGagne @tshiono 的答案可以正常工作。我已经更新了我的答案,以使其回答的陈述更加清晰。例如,当我们昨天说“如果你想在两个文件的名称有共同点时动态创建这些文件夹”“是的,这就是我要说的。” =>
FilenameX将移动到Filename目录。
标签: bash powershell file directory organization