Crie este arquivo em lote:
@echo off
for %%F in (*.pdf *.tex) do call :subr "%%F"
exit /b
:subr
set filename=%1
move %1 %filename:~1,3%\Pictures
exit /b
Notas:
-
for %%F in (*.pdf *.tex) do …
executa a seguinte declaração uma vez para cada nome de arquivo que corresponda a*.pdf
ou*.tex
, com%%F
definido para o nome do arquivo. -
call :subr "%%F"
invoca as três linhas inferiores do script, com o primeiro argumento (%1
) definido como"%%F"
(o nome do arquivo, citado). -
exit /b
sai do script sem apagar a janela do prompt de comando. -
set filename=%1
copia o argumento filename na variávelfilename
. -
move
move um arquivo. -
%código%
pega a substring indicada de
%variable:~start,len%
(o primeiro caractere é # 0), então%variable%
são os primeiros três caracteres de%filename:~1,3%
. (A contagem começa em 0; estou usando 1 para pular o%filename%
.) -
"
retorna da sub-rotina.