我是一名生物学家,有时候我必须处理很多文件,而这些文件并没有以某种方式排列。
你可以给我一个关于以下任务的小费吗? 有文件夹
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用户,也不是一个好的(实际上根本不是)编码器。虽然我可以处理一些工作,但如果有人能给我一个最简单的方法来做我想做的事情,我会很高兴。或者我可以搜索什么 - 我试图搜索,但也许我错过了一些正确的搜索词。
答案 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完成,只是出于好奇。