我正在尝试清理一些包含三维模型的驱动器。模型位于文件夹中,文件夹中还有其他内容需要与模型一起使用才能使模型正常工作。这些文件夹与一堆不相关的文件夹混合在一起。所以我想移动一个文件夹及其子文件夹,如果所述文件夹包含某种文件类型。 到目前为止,我有这个。
for /d %f in ("C:\in_folder\*") do @if exist "%~f\*.txt" move "%~f" "C:\out_folder"
如果文件位于文件夹的第一级(在父目录中),则此方法很有用。如果它在第二级,则不起作用。我已经尝试使用/r
,它只是空白。
编辑:将“%~f”更改为“%~f * .txt”。这是我最初使用的
错误的。
答案 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
匹配的文件(例如).\fred
,second
中存在.\first\second
,则目标目录将为replacements = {
['object','timedelta[ns]']: 'varchar',
'float64': 'float',
'int64': 'int',
'datetime64': 'timestamp'
}
。