Если при перетаскивании, то выделяете несколько файлов и перетаскиваете их на exe-файл, или Вы хотите по горячей клавише?как сделать чтобы все выделенные файлы конвертировались, а не только тот за который тянем?
в том то и дело: я выделяю несколько файлов, далее тяну за один из выделенных файлов на программу, отпускаю, но конвертируется только тот за который я тянуЕсли при перетаскивании, то выделяете несколько файлов и перетаскиваете их на exe-файл, или Вы хотите по горячей клавише?
Ваш код + пару файлов(один у меня есть).я выделяю несколько файлов, далее тяну за один из выделенных файлов на программу, отпускаю, но конвертируется только тот за который я тяну
скачатьВаш код + пару файлов(один у меня есть).
#NoTrayIcon
$aFiles = _Get_Files()
_Convert($aFiles)
Func _Convert($a_Files)
Local $s_Nconvert = 'nconvert.exe', $s_TempDir = @TempDir & '\_TempTex\', $i_End
If Not FileExists($s_TempDir) Then
If Not DirCreate($s_TempDir) Then Return SetError(1)
EndIf
If Not FileInstall('nconvert.exe', $s_TempDir & '\' & $s_Nconvert, 1) Then Return SetError(1)
For $i = 1 To $a_Files[0]
$i_End = RunWait('"' & $s_TempDir & '\' & $s_Nconvert & '" -overwrite -D -c 1 -out tga "' & $a_Files[$i] & '"', '', @SW_HIDE)
If $i_End Then Return SetError(1)
;FileMove($a_Files[$i], $s_TempDir, 1)
DirRemove ($s_TempDir, 1)
Next
FileDelete($s_TempDir & '\' & $s_Nconvert)
EndFunc ;==>_Convert
Func _Get_Files()
Local $aFiles[$CmdLine[0] + 1] = [$CmdLine[0]]
For $i = 1 To $CmdLine[0]
$aFiles[$i] = $CmdLine[$i]
Next
Return $aFiles
EndFunc ;==>_Get_Files
спасибо, получил массив, только как этот массив вкинуть в _getfiles? а возможно этот array нужно будет использовать в функции исполнения программы? либо прячем array под переменную, а переменную передаём уже в функцию исполнения? пример использования пожалуйста.Попробуй такой скрипт для доказательства
;1
;...
$s_TempDir = @TempDir & '\_TempTex\' ;лишний слеш в конце(не критично)
;...
;2
;...
DirRemove ($s_TempDir, 1)
Next
;Вы в первом же цикле удаляете папку с nconvert.exe, второй и далее файлы уже не чем обрабатывать.
;...
спасибо, всё работает отлично! вот последний вид скрипта:Если их устранить, то обрабатываются все файлы.
#NoTrayIcon
$aFiles = _Get_Files()
_Convert($aFiles)
Func _Convert($a_Files)
Local $s_Nconvert = 'nconvert.exe', $s_TempDir = @TempDir & '\_TempTex\', $i_End
If Not FileExists($s_TempDir) Then
If Not DirCreate($s_TempDir) Then Return SetError(1)
EndIf
If Not FileInstall('nconvert.exe', $s_TempDir & '\' & $s_Nconvert, 1) Then Return SetError(1)
For $i = 1 To $a_Files[0]
$i_End = RunWait('"' & $s_TempDir & '\' & $s_Nconvert & '" -overwrite -D -c 1 -out tga "' & $a_Files[$i] & '"', '', @SW_HIDE)
If $i_End Then Return SetError(1)
;FileMove($a_Files[$i], $s_TempDir, 1)
Next
FileDelete($s_TempDir & '\' & $s_Nconvert)
DirRemove ($s_TempDir, 1)
EndFunc ;==>_Convert
Func _Get_Files()
Local $aFiles[$CmdLine[0] + 1] = [$CmdLine[0]]
For $i = 1 To $CmdLine[0]
$aFiles[$i] = $CmdLine[$i]
Next
Return $aFiles
EndFunc ;==>_Get_Files
Mafia2ModelDumper.exe ФАЙЛ.РАСШИРЕНИЕ
#NoTrayIcon
$aFiles = _Get_Files()
_DumpDae($aFiles)
Func _DumpDae($a_Files)
Local $s_MDumper = 'Mafia2ModelDumper.exe', $s_Ghelper = 'Gibbed.Helpers.dll', $s_Gillusion = 'Gibbed.Illusion.FileFormats.dll', $s_ICSharp = 'ICSharpCode.SharpZipLib.dll', $s_M2Config = 'Mafia2ModelDumper.exe.config', $s_M2Tool = 'Mafia2Tool.dll', $s_ScriptDir = @ScriptDir, $s_TempDir = @TempDir & '\_TempM2Models', $i_End
If Not FileExists($s_TempDir) Then
If Not DirCreate($s_TempDir) Then Return SetError(1)
EndIf
If Not FileInstall('Mafia2ModelDumper.exe', $s_TempDir & '\' & $s_MDumper, 1) Then Return SetError(1)
If Not FileInstall('Gibbed.Helpers.dll', $s_TempDir & '\' & $s_Ghelper, 1) Then Return SetError(1)
If Not FileInstall('Gibbed.Illusion.FileFormats.dll', $s_TempDir & '\' & $s_Gillusion, 1) Then Return SetError(1)
If Not FileInstall('ICSharpCode.SharpZipLib.dll', $s_TempDir & '\' & $s_ICSharp, 1) Then Return SetError(1)
If Not FileInstall('Mafia2ModelDumper.exe.config', $s_TempDir & '\' & $s_M2Config, 1) Then Return SetError(1)
If Not FileInstall('Mafia2Tool.dll', $s_TempDir & '\' & $s_M2Tool, 1) Then Return SetError(1)
For $i = 1 To $a_Files[0]
$i_End = RunWait('"' & $s_TempDir & '\' & $s_MDumper & '" "' & $a_Files[$i] & '"', $s_TempDir, @SW_HIDE)
If $i_End Then Return SetError(1)
;FileMove($a_Files[$i], $s_ScriptDir, 1)
FileMove($s_TempDir & '\' & '*.dae', $s_ScriptDir, 1)
Next
;DirRemove ($s_TempDir, 1)
EndFunc ;==>_DumpDae
Func _Get_Files()
Local $aFiles[$CmdLine[0] + 1] = [$CmdLine[0]]
For $i = 1 To $CmdLine[0]
$aFiles[$i] = $CmdLine[$i]
Next
Return $aFiles
EndFunc ;==>_Get_Files
mesh2rdm.exe ИСХОДНЫЙ_ФАЙЛ.РАСШИРЕНИЕ КОНЕЧНЫЙ_ФАЙЛ.РАСШИРЕНИЕ -flipuv -scale 100 -nopause -rotate 0 180 0
#NoTrayIcon
_Convert()
Func _Convert($a_Files)
Local $s_M2RDM = 'mesh2rdm.exe', $s_ScriptDir = @ScriptDir, $s_TempDir = @TempDir & '\_TempM2Models', $i_End
If Not FileExists($s_TempDir) Then
If Not DirCreate($s_TempDir) Then Return SetError(1)
EndIf
If Not FileInstall('mesh2rdm.exe', $s_TempDir & '\' & $s_M2RDM, 1) Then Return SetError(1)
For $i = 1 To $a_Files[0]
$i_End = RunWait('"' & $s_TempDir & '\' & $s_M2RDM & '" "' & $s_TempDir & '\' '*.dae' & $s_ScriptDir & '\' '*.dae' & '" "' & '" -overwrite -D -c 1 -out tga "' & '"', $s_ScriptDir, @SW_HIDE)
If $i_End Then Return SetError(1)
;FileMove($a_Files[$i], $s_ScriptDir, 1)
;FileMove($s_TempDir & '\' & '*.dae', $s_ScriptDir, 1)
Next
;DirRemove ($s_TempDir, 1)
EndFunc ;==>_Convert