|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] обрезать по заданному MAX PATH |
|
|
[решено] обрезать по заданному MAX PATH
|
Старожил Сообщения: 267 |
Профиль | Отправить PM | Цитировать есть список
я нашел как только обрезать длину файла. т.е.: а нужно именно обрезать по длине пути т.е. уровнять MAX PATH 1. причем желательно: чтобы я мог выбрать длину MAX PATH до которого нужно обрезать (т.е. нужно не до 255 а скажем до 200 чтобы при копировании файлов в другое место был разбег для глубины) 2. и обязательно сохранение расширения файла. 3. как сделать чтобы захватывались для обработки длины MAX PATH только файлы с расширением txt ? |
|
Отправлено: 11:57, 18-06-2010 |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать список как создаешь? и где он хранится? или надо этим же скриптом создавать который будет проводить обрезку?
и еще, расширение входит в эти MAX_PATH? ну и на последок, файлы нужно переименовать с новыми обрезанными названиями? |
------- Отправлено: 12:04, 18-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать Попробуй вот такой код
#include <file.au3> $MAX_PATH = 200 $sFolder = "Path to the folder with files"; Путь до папки содержащий файлы, которые надо обрезать $aFiles = _FileListToArray($sFolder, "*.txt", 1) For $i = 1 to $aFiles[0] $sLongName = $sFolder & '\' & $aFiles[$i] $sLongName_NoExt = StringTrimRight($sLongName, 4); Название без расширения $sLongName_Ext = StringRight($sLongName, 3); Расширение $sNewName_NoExt = StringLeft($sLongName_NoExt, $MAX_PATH); Обрезаем название файла без расришения до длины MAX_PATH $sNewName = $sNewName_NoExt & "." & $sLongName_Ext; Добавляем расширение FileMove($sLongName, $sNewName);Переименовывем файл Next
|
------- Отправлено: 12:19, 18-06-2010 | #3 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Цитата kaster:
Цитата kaster:
Цитата kaster:
|
|||
Отправлено: 12:20, 18-06-2010 | #4 |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 12:23, 18-06-2010 | #5 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Цитата kaster:
нужно сохранить дерево папок. там около 1800 путей с папками, подпапками и в конце пути один файл txt. т.е. количество путей с папками = количеству файлов, которые нужно обрезать Цитата kaster:
Цитата kaster:
|
|||
Отправлено: 12:26, 18-06-2010 | #6 |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать shadowbat, мде... а хотя бы прочитать что там написано? в частности строка 3
$sFolder = "Path to the folder with files"; Путь до папки содержащий файлы, которые надо обрезать где там путь? я думал, ввести путь сам догадаешься. я же не знаю где у тебя лежат файлы. Цитата shadowbat:
позже напишу, если никто более не откликнется Цитата shadowbat:
|
||
------- Отправлено: 12:31, 18-06-2010 | #7 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Цитата kaster:
Цитата shadowbat:
тогда осталось решить с путями. что легче?: 1. рекурсивный поиск по подпапкам необходимо реализовывать вручную либо 2. переместить файлы из всех папок и подпапок с сохранением пути откуда они были взяты. потом переименовка. потом перемещение назад фалы туда, откуда они были взяты по поводу поиска: а если реализовать например такой алгоритм?: |
||
Последний раз редактировалось shadowbat, 18-06-2010 в 12:52. Отправлено: 12:35, 18-06-2010 | #8 |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать Цитата shadowbat:
Цитата shadowbat:
|
||
------- Отправлено: 12:52, 18-06-2010 | #9 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать kaster, тогда еще вариант:
у меня есть список всех путей файлов. можно ли, используя этот список, переименовывать файл с учетом max path? т.е. получается не рекурсивный поиск, а просто работа по этим путям |
Отправлено: 12:58, 18-06-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Высокий приоритет заданному процессу | 7human7 | Скриптовые языки администрирования Windows | 14 | 26-01-2012 16:34 | |
CMD/BAT - [решено] обрезать по заданному MAX PATH | shadowbat | Скриптовые языки администрирования Windows | 17 | 08-07-2010 06:04 | |
Удаление записей из таблицы по заданному времени на 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 |
|