Добрый день!
Помогите понять, а то уже голова не варит... Должно же работать...
Задача - при нахождении символов в имени файла его переименовать
Если прописываю просто:
То работает. А так, как мне бы хотелось - нет
Функция:
Помогите понять, а то уже голова не варит... Должно же работать...
Задача - при нахождении символов в имени файла его переименовать
Если прописываю просто:
Код:
FileMove('d:\TC\Update\aomei_partition__istant_9.5.0_te.zip', 'd:\TC\Update\aomei_partition_assistant_9.5.0_te.zip', 1)
FileMove('d:\TC\Update\facebook_video_downloader%205.6.1.zip', 'd:\TC\Update\facebook_video_downloader_5.6.1.zip', 1)
То работает. А так, как мне бы хотелось - нет
Функция:
Код:
Func _ren_arch_chup()
; Объявляем переменную для работы функции
Local $new_file
; В переменную $arFileList записываем как массив список архивов с папки обновлений El Chupacabra $sPathApps
$arFileList = _FO_FileSearch($sPathApps, '*.rar|*.zip', True, 0, 1, 1, 1, '', '', '')
; Запускаем цикл по количеству найденных архивов (элементов массива $arFileList)
For $i = 1 To $arFileList[0]
$new_file = ''
; В переменную $aPathFile записываем как массив абсолютный путь к файлу $arFileList[$i] по частям - путь, имя файла и расширение
$aPathFile = _FO_PathSplit($arFileList[$i])
; Если в имени файла найдены символы %20, то выполняем действия
If StringInStr($aPathFile[1], '%20') Then
; В переменную $new_file записываем "новое имя файла" (удаляем лишние символы)
$new_file = $sPathApps&'\'&StringReplace($aPathFile[1], '%20', '_')&$aPathFile[2]
; Переименовываем файл
FileMove ($arFileList[$i], $new_file, 1)
ElseIf StringInStr($aPathFile[1], '__istant') Then
; В переменную $new_file записываем "новое имя файла" (удаляем лишние символы)
$new_file = $sPathApps&'\'&StringRegExpReplace($aPathFile[1], '__istant', '_assistant')&$aPathFile[2]
; ; Переименовываем файл
FileMove ($arFileList[$i], $new_file, 1)
EndIf
Next
EndFunc