banIDit
|
Posted: Sat Jun 02, 2007 17:14 Post subject: |
|
|
Согласен, с длинными именами все не так просто оказывается.
Вот что наковырял по этому вопросу, зацените:
Для копирования всех файлов в свою папку. Параметры — %P %t.
Code: | rem Скрипт создает в целевом (%t) каталоге для каждого файла
rem папку и копирует туда его
for %%i in (%1*.*) do (
md "%2%%~ni"
copy "%%i" "%2%%~ni") |
Для копирования всех выделенных файлов в свою папку. Параметры — %l %t.
Code: | @echo off
rem Скрипт создает в целевом (%t) каталоге для каждого выделенного файла
rem папку и копирует туда его
rem Так как дос не читает из файла-списка (%1) юникодные имена, создаем папку-темп (%2battemp)
rem и копируем туда с короткими именами все выделенные файлы
md "%2battemp"
for /F "eol=" %%i in (%1) do (
copy %%i "%2battemp")
rem Теперь из папки-темп берем имена всех файлов, создаем для каждого каталог
rem и перемещаем туда его, удаляем папку-темп
for %%i in ("%2battemp"\*.*) do (
md "%2%%~ni"
move "%%i" "%2%%~ni")
rd "%2battemp"
|
Для того, чтобы досовское окно постоянно не мелькало перед глазами, можно отметить галку "в свернутом виде".  |
|