Войти

Показать полную графическую версию : [решено] Сортировка документов с рабочего стола по пакам


O L E G
06-09-2012, 11:43
Для себя пишу скрипт, может конечно кому то еще пригодиться.
Скрипт создает папки на рабочем столе Text, Video и тд. B собирает с рабоч стола все документы по этим папкам.
1. Бывает попадаются документы с одинаковыми именами

move /-Y *.wma Music

команда просит заменить или нет, мне надо что бы скрипт автоматически переименовывал файл и кидал его по должному пути
2. Можно ли через скрипт папкам присвоит иконку? *.ico
3.!!! пробовал через готовую папку уже с иконкой но ее надо скопировать с папки на рабочий стол,а не могу обдумать путь, как её скопировать от туда где лежит сам скрипт
Весь скрипт вот

@echo off
cd %SystemDrive%\DOCUME~1\%username%\Рабочий Стол
if not exist Music md Music
if not exist Video md Video
if not exist Image md Image
if not exist Image\Fotoshop md Image\Fotoshop
if not exist Program md Program
if not exist Text md Text
if not exist Text\Office\Word md Text\Office\Word
if not exist Text\Office\Exel md Text\Office\Exel

echo Text
move /-Y *.txt Text
move /-Y *.doc Text\Office\Word
move /-Y *.docx Text\Office\Word
move /-Y *.rtf Text
move /-Y *.pdf Text
move /-Y *.xls Text\Office\Exel
move /-Y *.xlsx Text\Office\Exel

echo Video
move /-Y *.avi Video
move /-Y *.mpg Video
move /-Y *.divx Video
move /-Y *.xvid Video
move /-Y *.mpeg Video
move /-Y *.3gp Video
move /-Y *.3gpp Video
move /-Y *.3g2 Video
move /-Y *.WMV Video
move /-Y *.MOV Video
move /-Y *.MKV Video
move /-Y *.FLV Video
move /-Y *.SWF Video
move /-Y *.mpg4 Video
move /-Y *.mp4 Video
move /-Y *.m4v Video
move /-Y *.flv Video

echo Music
move /-Y *.mp3 Music
move /-Y *.wav Music
move /-Y *.wma Music
move /-Y *.flac Music
move /-Y *.ac3 Music
move /-Y *.aac Music
move /-Y *.ogg Music
move /-Y *.amr Music

echo Image
move /-Y *.psd Image\fotoshop
move /-Y *.bmp Image
move /-Y *.gif Image
move /-Y *.jpg Image
move /-Y *.jpeg Image
move /-Y *.raw Image\fotoshop
move /-Y *.png Image
move /-Y *.ico Image

echo Program
move /-Y *.exe Program
move /-Y *.lnk Program

Bob256
06-09-2012, 16:54
Как то так...
@echo off
setlocal enabledelayedexpansion

set Dest=Music Video Image Image\Fotoshop Program Text Text\Word Text\Exel

set TextExt=.txt .rtf .pdf
set Text\WordExt=.doc .docx
set Text\ExelExt=.xls .xlsx
set VideoExt=.avi .mpg .divx .xvid .mpeg .3gp .3gpp .3g2 .WMV .MOV .MKV .FLV .SWF .mpg4 .mp4 .m4v .flv
set MusicExt=.mp3 .wav .wma .flac .ac3 .aac .ogg .amr
set ImageExt=.bmp .gif .jpg .png .ico .jpeg
set Image\FotoshopExt=.psd .raw
set ProgramExt=.exe .lnk

set TextIcon=%SystemRoot%\system32\SHELL32.dll
set Text\WordIcon=%ProgramFiles%\Microsoft Office\Office14\WINWORD.EXE
set Text\ExelIcon=%ProgramFiles%\Microsoft Office\Office14\EXCEL.EXE
set VideoIcon=%SystemRoot%\system32\SHELL32.dll
set MusicIcon=%SystemRoot%\system32\SHELL32.dll
set ImageIcon=%SystemRoot%\system32\SHELL32.dll
set Image\FotoshopIcon=
set ProgramIcon=%SystemRoot%\system32\SHELL32.dll

set TextIconIndex=126
set Text\WordIconIndex=1
set Text\ExelIconIndex=1
set VideoIconIndex=129
set MusicIconIndex=128
set ImageIconIndex=127
set Image\FotoshopIconIndex=
set ProgramIconIndex=36

cd "%userprofile%\Рабочий стол"
for %%D in (%Dest%) do (echo %%D
if not exist %%D (md %%D
attrib +r "%%D">nul
echo.[.ShellClassInfo]>"%%D\Desktop.ini"
echo.IconFile=!%%DIcon!>>"%%D\Desktop.ini"
echo.IconIndex=!%%DIconIndex! >>"%%D\Desktop.ini"
attrib +h "%%D\Desktop.ini">nul
)
for %%E in (!%%DExt!) do for %%F in (*%%E) do (
set NewName=%%F
if exist "%%D\%%F" for /L %%I in (99,-1,1) do if not exist "%%D\%%~nF %%I%%~xF" set NewName=%%~nF %%I%%~xF
move "%%F" "%%D\!NewName!"
)
)
иконки сам поправиш

O L E G
06-09-2012, 17:43
а к примеру, если у меня есть свои иконки, как их к папкам применить?

Bob256
06-09-2012, 17:53
если Text.ico рядом с батником то set TextIcon="%~dp0\Text.ico"
set TextIconIndex=0

O L E G
07-09-2012, 10:01
Благодарен, скрипт разобрал, понял что да как,работает 100% СПС ))




© OSzone.net 2001-2012