大家好,我需要提取多个java文件,从一个目录到一个根目录,但我需要保留de 第一级。 有许多文件和许多不同的文件夹,因此任何帮助都值得赞赏 下面是一个示例:
我需要做的是让它
|ROOTDIRECTORY
| |FOLDER1
| | SUBFOLDER
| | | JA.JAVA
| |FOLDER2
| | SUBFOLDER
| | | AAAA.JAVA
| |FOLDER3
| | SUBFOLDER
| | | JAAAA.JAVA
| |FOLDER4
| | SUBFOLDER
| | | |SUBSUBFOLDER
| | | JAV.JAVA
成为
|ROOTDIRECTORY
| |FOLDER1
| | JA.JAVA
| |FOLDER2
| | AAAA.JAVA
| |FOLDER3
| | JAAAA.JAVA
| |FOLDER4
| | JAV.JAVA
在这个例子中,我放置了 2 个级别的子文件夹,但子级别的数量不确定
我认为必须有一种方法可以"快速"做到这一点。有 500 多个文件夹和 1,000,000 个文件。
欢迎任何想法
我可以想象这不是你要找的,但我过去已经解决了这种情况,而且大多数情况下我都是通过以下方式做到的(更多或更少(:
forfiles /S /M *.Java /C "cmd /C echo @path"
这不会移动任何东西,它只是显示文件的路径,具有完整的目录结构。
我给出了一个列表,包含(根据您的示例(如下:
C:Folder1Subfolderja.java
...
C:Folder4SubfolderSubsubfolderjav.java
然后我做两件事:我把这个列表保存在某个地方,然后用副本把它变成下面的列表:
C:Folder1ja.java
...
C:Folder4jav.java
我通过将"C:\Folder1\Subfolder\"替换为"C:\Folder1\",将"C:\Folder4\Subfolder\Subsubfolder\"替换为"C:\Folder4\",使用文本编辑器中的简单替换命令(如Notepad++(来做到这一点。
然后,我使用该文本编辑器的列模式创建以下类型的命令:
mv C:Folder1Subfolderja.java C:Folder1ja.java
....
mv C:Folder4SubfolderSubsubfolderjav.java C:Folder4jav.java
我可以预测你的反应"伙计,这太蹩脚了!",但我看到两个要点:
- 在您的情况下,您不希望复制到父文件夹,而是有时复制到父文件夹的父文件夹,这使得整个事情变得非常复杂。
- 我的解决方案为您提供了一种在实际开始执行之前完全验证您所做的一切是否正确的方法(您甚至可以尝试一些行,看看它是否按预期工作(。
祝你好运