Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить 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
Требования:
  • Все файлы с длинными названиями и расширением txt должны находится в некоторой папке, путь до которого нужно ввести в скрипте
  • Расширение в общую длину MAX_PATH не входит, то есть после обрезки общая длина пути файла будет MAX_PATH+4
  • Проверить работоспособность сначала на тестовых файлах, во избежания неправильной работы скрипта

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:19, 18-06-2010 | #3