PDA

Показать полную графическую версию : Сортировка файлов по расширению


cyber_ua
16-02-2012, 23:11
написал батник который переберяет все файлы в папке и сортирует по розширению , все работает !
но проблема в том что он не работает с файла подписаными на русском!
вот код:

@echo off
chcp 1251
:back
set /P path=Введите путь к папке(Пример:C:\test)

if EXIST %path% (goto next) else (echo папка не существует попробуйте еще раз
goto back)
:next
for /R %path% %%i in (*.*) do (
set r=%%~xi
set file=%%i
call:Label)
Pause
:Label
:yslov
if EXIST %path%\%r% (Move /Y %file% %path%\%r% ) else (MD %path%\%r%
goto yslov)

Iska
17-02-2012, 00:47
cyber_ua, зачем Вам:
chcp 1251
второй строкой пакетного файла?

cyber_ua
17-02-2012, 01:05
чтоб русский текст можно было юзать!

Iska
17-02-2012, 01:31
чтоб русский текст можно было юзать! »
… используйте редактор, умеющий работать и сохранять пакетные файлы в кодировке ОЕМ/866: редактор Far Manager'а, Bred2/Bred3, AkelPad и т.п.

cyber_ua
17-02-2012, 01:31
понял попробую!

скачал AkelPad а в чем разница в действиях с блокнотом?

Iska
18-02-2012, 04:52
а в чем разница в действиях с блокнотом? »
Блокнот не поддерживает прозрачную работу с такой кодировкой.

o3epo
07-10-2012, 00:17
А как сделать, что бы при сортировке при совпадении имён файлы автоматически переименовывались, убрать точку в началах имён папок и имена папок были заглавными буквами?

Iska
07-10-2012, 03:42
А как сделать… »
Ну, и — причём тут сортировка?

Foreigner
07-10-2012, 16:22
убрать точку в началах имён папок и имена папок были заглавными буквами

@echo off
setlocal
1>nul chcp 1251

for /f "tokens=*" %%i in (' dir /b /ad ') do call:1 "%%i"

1>nul chcp 866
goto:eof

:1
set "name=%~1"
if "%name:~0,1%"=="." (set "name=%name:~1%")

for /f "tokens=*" %%i in (' echo %name% ^| sed "s/\(.*\)/\U\1/" ') do ren %1 "%%i"

sed (http://gnuwin32.sourceforge.net/packages/sed.htm)

roma35
07-10-2012, 23:16
и имена папок были заглавными буквами »

for /f "delims=" %%a in ('dir /b /s /ad') do for /f "tokens=3 delims=:" %%b in ('find "" ":%%~nxa" 2^>^&1') do ren "%%a" "%%b"




© OSzone.net 2001-2012