如果文件夹中包含文件类型或其任何子文件夹,则复制其所有内容

时间:2018-02-27 15:14:39

标签: batch-file

我正在尝试清理一些包含三维模型的驱动器。模型位于文件夹中,文件夹中还有其他内容需要与模型一起使用才能使模型正常工作。这些文件夹与一堆不相关的文件夹混合在一起。所以我想移动一个文件夹及其子文件夹,如果所述文件夹包含某种文件类型。 到目前为止,我有这个。

for /d %f in ("C:\in_folder\*") do @if exist "%~f\*.txt" move "%~f" "C:\out_folder"

如果文件位于文件夹的第一级(在父目录中),则此方法很有用。如果它在第二级,则不起作用。我已经尝试使用/r,它只是空白。 编辑:将“%~f”更改为“%~f * .txt”。这是我最初使用的  错误的。

1 个答案:

答案 0 :(得分:0)

for /r %a in (*.3gp) do for %d in ("%~dpa.") do echo md u:\destdir\%~nxd&echo move %~dpa* u:\destdir\%~nxd

请注意,此行将echo所需的移动。测试后,请移除echo个关键字以实际执行move

请注意,这是为了从问题中指示的提示符直接执行而编写的。要用作批处理行,请将%加倍%%

这应该在当前目录是要分析的目录的地方执行。

如果fred中存在与*.3gp匹配的文件(例如).\fredsecond中存在.\first\second,则目标目录将为replacements = { ['object','timedelta[ns]']: 'varchar', 'float64': 'float', 'int64': 'int', 'datetime64': 'timestamp' }