【发布时间】:2014-12-30 23:32:57
【问题描述】:
我正在批量编写一些(丑陋的)代码来重新排列文件夹之间的文件。
我创建了一部分代码,将具有相似文件名的一种类型的文件移动到同一个文件夹,并创建一个名为“serie.txt”的虚拟文本文件,如果其中有多个文件。
最后,我有一个名为“E:\videos\catalogar\”的文件夹,其中包含许多子文件夹,其中一些包含文件“series.txt”。我需要将这些文件夹移动到路径“e:\videos\series\”,为此,我写了这个:
for /r "e:\videos\catalogar\" %%F in (serie.txt) do (
set directorio=%%~dpF
if not "!directorio!"=="e:\videos\catalogar\" (
del "!directorio!*.txt"
move /y "!directorio!." "e:\videos\series\"
)
)
delayedexpansion 已打开。 if 条件是避免移动整个根文件夹。
问题在于,出于某种原因,此代码移动了“E:\videos\catalogar\”内的所有子文件夹,而不仅仅是包含“serie.txt”的那些。怎么了?
【问题讨论】:
标签: batch-file for-loop batch-processing