Windows cmd,文件重命名和重新排列

时间:2018-02-06 09:15:36

标签: windows batch-file cmd

我是一名生物学家,有时候我必须处理很多文件,而这些文件并没有以某种方式排列。

你可以给我一个关于以下任务的小费吗? 有文件夹

D:\.......\folder1\subfolder(1....)\subsubfolder(1.....)  \SOMEtext_exactword(1.....)  

(最后一个是没有扩展名的文件)

我可以在windows cmd中创建类似

的内容
D:\.......\folderEXACTWORD1\(subfolder1_subsubfolder1_SOMEtext_exactword1,
subfolder2_subsubfolder2_SOMEtext_exactword1,  
subfolder3_subsubfolder3_SOMEtext_exactword1)

(最后一个是没有扩展名的文件)

有意查找所有文件,在其名称中包含“string”的几个子文件夹中,将它们复制到特定文件夹并重命名,以便它们现在在其名称中包含其父文件位置。

我想应该有一种方法可以在linux中完成它,虽然我不是一个linux用户,也不是一个好的(实际上根本不是)编码器。虽然我可以处理一些工作,但如果有人能给我一个最简单的方法来做我想做的事情,我会很高兴。或者我可以搜索什么 - 我试图搜索,但也许我错过了一些正确的搜索词。

2 个答案:

答案 0 :(得分:0)

你的问题很不清楚,但是这里或多或少都是这样做的,你还要定义一些项目,以确保你在地点找到正确的文件并相应地移动它们。

@echo off
setlocal enabledelayedexpansion
set mydir="D:\somedir\somedir\someotherdir\

for %%a in (%mydir%) do set "name=%%~nxa"
echo %name%
for /r %%i in (*string*) do (set "file=%%i"
 echo move "!file!" "C:\somedir\!name!")
 )
)
endlocal

答案 1 :(得分:-2)

好。其他地方的人给了我建议并且有效。在总命令中,您可以使用多重命名工具和标志[P]和[G]来执行此操作,这将允许您添加父目录和祖父目录名称。

好。我想这个主题与我自己的回答没有任何问题,但如果它被删除我会好的:) 虽然我可能仍然感兴趣,如果它可以从cmd完成,只是出于好奇。