sábado, 19 de fevereiro de 2011

HUNTER - Varrendo e Organizando arquivos

Fala galerinha boa!

Hoje parei pra fazer um programinha besta em Batch (.bat) para me ajudar com uma tarefa chata aqui no meu computador. Vou compartilhar com vocês essa viagem. E... toma-lhe código:

-------------- Hunter.bat --------------
@echo off
SET PASTA="%temp%\hunter"

IF /I "%~2"=="h" (
GOTO AJUDA
) ELSE IF /I "%~1"=="h" (
GOTO AJUDA
) ELSE IF "%~1"=="" (
GOTO AJUDA
)

IF EXIST %PASTA% (
rd %PASTA%
)

mkdir %PASTA%

type NUL > saida.txt

for /R %1 %%i in (%~2) DO (
echo %%i >> saida.txt
)

for /F "usebackq delims==" %%i IN (saida.txt) DO (
IF EXIST %"PASTA%\%%~ni%%~xi" (
move "%%i" "%PASTA%\b%%~ni%%~xi"
) ELSE (
move "%%i" "%PASTA%\" )
)

move %PASTA% .
GOTO FIM

:AJUDA
Echo ----------------------------------------------------
Echo USO: %0 [LOCAL] ["*.txt *.pdf *.zip"]
Echo Faz-se necessario o uso das aspas ("")
Echo ----------------------------------------------------
GOTO FIM

:FIM
Echo --------------------------------------------
Echo Hunter - Por ALan MeC Lacerda
Echo 19/02/2011 Toda diversao reservada
Echo --------------------------------------------
cmd /c exit

------------------------- FIM --------------------------

O objetivo desse brinquedo é varrer os subdiretórios a partir de onde você indicar à procura de arquivos com a(s) extensão(ões) que você indicar. Daí ele cria na pasta corrente uma outra pasta contendo os arquivos que ele encontrou.

Outra caracteristica interessante é que se ao mover o arquivo para a pasta de destino, já existir um arquivo com o mesmo nome, o programa irá renomear o arquivo atual para "b"+nomedoarquivo.

CUIDADO
O programinha foi escrito para MOVER os arquivos que ele encontrar e não copiar, por isso os arquivos sairão do local de origem. Observe antes se é isso o que você realmente quer fazer. Se não for, altere o programa para fazer a cópia dos arquivos ao invés de movê-los.

Fiz UpLoad do arquivo na web. Se quiser baixá-lo, segue o link: http://www.4shared.com/file/HmgXd_DP/hunter.html

Forte abraços,

0 comentários:

Postar um comentário