Имя пользователя:
Пароль:
 

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

Аватара для Creat0R

Must AutoIt


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

Профиль | Сайт | Отправить PM | Цитировать


Цитата shadowbat:
вопрос - зачем тогда вписывать путь в скрипт? если он просит выбрать папку визуально через дерево папок »
Если указать путь вместо FileSelectFolder, то ничего просить не будет.

Цитата shadowbat:
а что, если не выбирать путь? а настроить чтобы скрипт сам брала путь из той папки где она находится »
Вот тот же пример, но функцию «_Renamer» я немного изменил, используется RegExp:

Код: Выделить весь код
#include <File.au3>

Global $MAX_PATH = 150
Global $sFolder = @ScriptDir ; Путь до папки содержащий файлы, которые надо обрезать

_Main($sFolder)

Func _Main($sPath)
    $aFiles = _FileListToArray($sPath, "*.txt", 1)
    $aFolders = _FileListToArray($sPath, "*", 2)

    If Not IsArray($aFiles) And Not IsArray($aFolders) Then
        Return "" ;No files/folders found
    EndIf

    For $j = 1 To UBound($aFolders)-1
        _Main($sPath & '\' & $aFolders[$j])
    Next

    For $i = 1 To UBound($aFiles)-1
        _Renamer($sPath & '\' & $aFiles[$i])
    Next
EndFunc

Func _Renamer($sFile)
    $sNewFile = StringRegExpReplace($sFile, '(.{' & $MAX_PATH & '}).*(\.[^\.]*$)', '\1\2'); Обрезаем название файла без расришения до длины MAX_PATH
    FileMove($sFile, $sNewFile) ;Переименовывем файл
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

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

Отправлено: 15:59, 18-06-2010 | #16