Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Сортировка документов с рабочего стола по пакам (http://forum.oszone.net/showthread.php?t=242113)

O L E G 06-09-2012 11:43 1984067

Сортировка документов с рабочего стола по пакам
 
Для себя пишу скрипт, может конечно кому то еще пригодиться.
Скрипт создает папки на рабочем столе 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 1984254

Как то так...
Код:

@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 1984294

а к примеру, если у меня есть свои иконки, как их к папкам применить?

Bob256 06-09-2012 17:53 1984303

если Text.ico рядом с батником то
Код:

  set TextIcon="%~dp0\Text.ico"
  set TextIconIndex=0


O L E G 07-09-2012 10:01 1984603

Благодарен, скрипт разобрал, понял что да как,работает 100% СПС ))


Время: 01:01.

Время: 01:01.
© OSzone.net 2001-