Skif_off
|
Posted: Fri Oct 23, 2015 16:40 Post subject: |
|
|
Скрипт AutoIt:
- параметр запуска "recurs" заменён на "--recurs";
- скрипты нумеруются начиная с 1, на случай запуска нескольких копий (число дописывается в имена временных и лог-файлов, в заголовок окна и заголовки сообщений).
Для понимающих или желающих: попробовал добавить открытие лога не в редакторе по умолчанию для *.txt, а в редакторе из настроек ТС или DC. Для TC допустимые значения ключа Editor - варианты типа
 Hidden text Code: | "%COMMANDER_PATH%\Utilities\AkelPad\AkelPad.exe"
"%COMMANDER_PATH%\Utilities\AkelPad\AkelPad.exe" "%1"
"%COMMANDER_PATH%\Utilities\AkelPad\AkelPad.exe" /x
"%COMMANDER_PATH%\Addons\F4Menu\F4Menu.exe" -m "%1" |
DC не дописывает "%1". Поддерживаются %COMMANDER_PATH% и %COMMANDER_DRIVE%.
Не уверен на 100%, пока не добавил, идеи приветствуются. Как добавить самостоятельно:
- перед строкой
Code: | #Region ;FileOperations.au3, 1.8.5 (2014.05.26) |
вставить функцию
 Hidden text Code: | Func __OpenLog($sFile)
Local $hFile, $COMMANDER_PATH, $COMMANDER_DRIVE, $wincmd, $aEdit, $sEdit
If EnvGet('COMMANDER_INI') Then
$COMMANDER_PATH = EnvGet('COMMANDER_PATH')
$COMMANDER_DRIVE = EnvGet('COMMANDER_DRIVE')
$wincmd = EnvGet('COMMANDER_INI')
If StringInStr($wincmd, '\doublecmd.xml') Then
$hFile = FileOpen($wincmd, 256)
$sEdit = FileRead($hFile)
FileClose($hFile)
$aEdit = StringRegExp($sEdit, '(?is)<Editor Enabled=.*?</Editor>', 3)
If IsArray($aEdit) Then
If StringInStr($aEdit[0], 'Enabled="False"') Then
ShellExecute($sFile)
Else
If StringInStr($aEdit[0], '<Parameters/>') Then
$sEdit = StringRegExpReplace($aEdit[0], '(?is)\s*<Editor Enabled="True">\s+<Path>([^<]*?)</Path>.*', '"\1" "')
Else
$sEdit = StringRegExpReplace($aEdit[0], '(?is)\s*<Editor Enabled="True">\s+<Path>([^<]*?)</Path>\s+<Parameters>(.*?)</Parameters>.*', '"\1" \2 "')
EndIf
$sEdit &= $sFile
$sEdit &= '"'
$sEdit = StringReplace($sEdit, '%COMMANDER_DRIVE%\', $COMMANDER_DRIVE & '\')
$sEdit = StringReplace($sEdit, '%COMMANDER_PATH%\', $COMMANDER_PATH & '\')
Run($sEdit, '', @SW_SHOW)
EndIf
Else
ShellExecute($sFile)
EndIf
Else
$sEdit = IniRead($wincmd, 'Configuration', 'Editor', '')
$sEdit = StringReplace($sEdit, '%COMMANDER_DRIVE%\', $COMMANDER_DRIVE & '\')
$sEdit = StringReplace($sEdit, '%COMMANDER_PATH%\', $COMMANDER_PATH & '\')
If StringInStr($sEdit, '%1') Then
$sEdit = StringReplace($sEdit, '"%1"', '"' & $sFile & '"')
If @extended <> 1 Then $sEdit = StringReplace($sEdit, '%1', '"' & $sFile & '"')
Else
$sEdit &= ' "'
$sEdit &= $sFile
$sEdit &= '"'
EndIf
Run($sEdit, '', @SW_SHOW)
EndIf
Else
ShellExecute($sFile)
EndIf
EndFunc ;==>__OpenLog
|
- заменить в двух местах
Code: | ShellExecute($sTemp & '\jpgerror' & $Num & '.txt') |
на
Code: | __OpenLog($sTemp & '\jpgerror' & $Num & '.txt') |
|
|