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*.pdfou*.tex, com%%Fdefinido 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 /bsai do script sem apagar a janela do prompt de comando. -
set filename=%1copia o argumento filename na variávelfilename. -
movemove 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.