|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] обрезать по заданному MAX PATH |
|
|
CMD/BAT - [решено] обрезать по заданному MAX PATH
|
Старожил Сообщения: 267 |
Профиль | Отправить PM | Цитировать есть список
я нашел как только обрезать длину файла. т.е.: а нужно именно обрезать по длине пути т.е. уровнять MAX PATH 1. причем желательно: чтобы я мог выбрать длину MAX PATH до которого нужно обрезать (т.е. нужно не до 255 а скажем до 200 чтобы при копировании файлов в другое место был разбег для глубины) 2. и обязательно сохранение расширения файла. 3. как сделать чтобы захватывались для обработки длины MAX PATH только файлы с расширением pdf ? |
|
Отправлено: 11:51, 18-06-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:17, 18-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Цитата amel27:
...проверил - тут вставляется правильно, а на руборде я вставил 3 строки по 100 символов а в итоге они показывалиь с визуально разной длиной. поэтому вставил картинкой Цитата shadowbat:
(с сохранением пути нахождения файла) нужно сохранить структуру папок. там около 1800 путей с папками, подпапками и в конце пути один файл txt т.е. количество путей с папками = количеству файлов, которые нужно обрезать по поводу поиска например использовать такой алгоритм получится?: |
||
Последний раз редактировалось shadowbat, 18-06-2010 в 12:45. Отправлено: 12:30, 18-06-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата shadowbat:
set $m=C:\Program Files\*.txt set $f=2.txt set mp=50 (for /f "delims=" %%a in ('dir /b/s "%$m%"') do @( set "b=%%~dpna"&call echo.%%b:~0,%mp%%%%%~xa))>"%$f%" Цитата shadowbat:
|
||
Отправлено: 12:51, 18-06-2010 | #4 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать amel27, 5 минут тупил над "волшебной" строкой, удовлетворенно крякнув процетировал д.Ватсона: "Но черт возьми, КАК?!!!" (в смысле "оно еще и работает")
shadowbat, Вы кажется говорили про pdf, а сейчас уже про txt... |
|
------- Отправлено: 12:54, 18-06-2010 | #5 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Цитата:
а как сделать чтобы вместо списка он работал с самими файлами, и изменял имена файлов с учетом max path? //забрал себе в коллекцию батник. у меня 3 програмки есть по созданию списка файлов - amel27, но Ваш bat самый простой и главное удобный когда нужно без заморочек сделать листинг файлов ! Цитата NiOl:
|
||
Последний раз редактировалось shadowbat, 18-06-2010 в 13:13. Отправлено: 12:55, 18-06-2010 | #6 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать кто может помочь?
вроде процедура стандартная. так сказать основополагающая. любой кто сталкивался с длинными именами должен иметь у себя в заначке методы работы с ними, как например обрезка по заданной длине... в гугле поиск по фразе "max path" + "только на русском" выдает первую же ссылку в эту тему |
Последний раз редактировалось shadowbat, 18-06-2010 в 14:14. Отправлено: 13:57, 18-06-2010 | #7 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать не знаю помогут тут или нет реализовать через BAT/CMD, но если кому то тоже понадобится такая MAX_PATH обрезка - мне помогли в соседней ветке
AutoIt-решение от Creator'a http://forum.oszone.net/post-1436849.html#post1436849 |
Последний раз редактировалось shadowbat, 18-06-2010 в 16:40. Отправлено: 16:24, 18-06-2010 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата shadowbat:
вариант с выводом в "*_TST.CMD" (для ознакомления перед запуском): set $m=C:\Program Files\*.txt set $f=%~n0_tst.cmd set mp=50 (for /f "delims=" %%a in ('dir /b/s "%$m%"') do @( set "b=%%~dpna"& call set "c=%%b:~0,%mp%%%"& call call set "d=%%%%b:%%c%%=%%%%" if defined d call echo move "%%a" "%%c%%%%~xa"))>"%$f%" Цитата shadowbat:
|
||
Отправлено: 16:50, 18-06-2010 | #9 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Цитата amel27:
Цитата amel27:
|
||
Последний раз редактировалось shadowbat, 18-06-2010 в 17:47. Отправлено: 17:05, 18-06-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Высокий приоритет заданному процессу | 7human7 | Скриптовые языки администрирования Windows | 14 | 26-01-2012 16:34 | |
...cannot find the specified path... - перенаправление? | semiono | Автоматическая установка Windows 2000/XP/2003 | 1 | 09-04-2010 01:43 | |
Удаление записей из таблицы по заданному времени на php | magwolf | Вебмастеру | 5 | 14-08-2009 14:13 | |
Win2003 и Max CPUID max to 3 | 3au4er | Microsoft Windows NT/2000/2003 | 0 | 06-08-2008 12:13 | |
Поиск элементов массива, чья сумма равна заданному числу | Qwe1 | Программирование и базы данных | 28 | 26-09-2006 03:31 |
|