No entanto, meu código move todos os arquivos PDF.
for /r ../ %%a IN (*.pdf) do move "%%a" ".\"
What do I need to do?
No comando for
acima, você especificou /r
, o que significa que o comando for
é recursivo - Fazer um loop pelos arquivos (subpastas Recurse).
Existem várias soluções diferentes para esse problema, mas um seria o seguinte arquivo em lote:
test.cmd:
@echo off
setlocal enabledelayedexpansion
for %%a in (..\*.pdf) do (
move "%%a" .
)
endlocal
uso:
F:\test\Child1>dir ..\*.pdf
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test
27/08/2016 11:06 0 1complete1.pdf
27/08/2016 11:06 0 2complete2.pdf
27/08/2016 11:06 0 complete1.pdf
27/08/2016 11:06 0 complete2(s).pdf
4 File(s) 0 bytes
0 Dir(s) 1,764,571,938,816 bytes free
F:\test\Child1>test
1 file(s) moved.
1 file(s) moved.
1 file(s) moved.
1 file(s) moved.
F:\test\Child1>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\Child1
16/09/2016 12:53 <DIR> .
16/09/2016 12:53 <DIR> ..
27/08/2016 11:06 0 1complete1.pdf
27/08/2016 11:06 0 2complete2.pdf
27/08/2016 11:06 0 complete1.pdf
27/08/2016 11:06 0 complete2(s).pdf
16/09/2016 12:53 102 test.cmd
5 File(s) 102 bytes
2 Dir(s) 1,764,571,938,816 bytes free