Что нового

[Автоматизация] Скрипт собранный в EXE не работает

Автор
Tosyk

Tosyk

Новичок
Сообщения
206
Репутация
0
joiner сказал(а):
запускается cmd и в нее передается команда запуска файла с параметрами. в данном случае консоль не поняла пути и выдала ошибку, мол, нет такой команды и тд.


Добавлено:
Сообщение автоматически объединено:

нативная функция Run понимает путь с пробелами и проблемы не возникает. вот вся разница


предполагаю вы пытаетесь мне указать на ошибку в коде не указывая на неё :smile:
я пробовал и так и так экранировать, не получается заставить работать код. если у вас действительно получилось сделать его рабочим с программой ноезис и файлом ASСII, который должен преобразоваться в FBX подскажите пожалуйста как
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
короче, я не нашел в Noesis возможности конвертировать файлы ascii. эта программа пишет, что не поддерживает такой формат
 
Автор
Tosyk

Tosyk

Новичок
Сообщения
206
Репутация
0
joiner сказал(а):
короче, я не нашел в Noesis возможности конвертировать файлы ascii. эта программа пишет, что не поддерживает такой формат
думаю надо добавить вот этот плагин: https://drive.google.com/open?id=1AVlzXOmE6DmFmV9aHRPBZ5g02mPE7H-y
в <...>\noesis\plugins\python\
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
рабочий код
Код:
#include <File.au3>

AutoItSetOption("MustDeclareVars", 1)

Local $i
Local $sSourceFile, $sDestFile, $sDestPath, $sExePath
Local $sDrive, $sFolder, $sFileName, $sExt, $sParams, $sRunWait


If $CmdLine[0] <> 0 Then
	If FileExists("C:\Program Files (x86)\noesis\4231\Noesis.exe") Then
		ProgressOn("Converting", "", "0%")
		For $i = 1 To $CmdLine[0]
			$sSourceFile = $CmdLine[$i]
			_PathSplit($sSourceFile, $sDrive, $sFolder, $sFileName, $sExt)
			ProgressSet(($i / $CmdLine[0]) * 100, $sFileName & $sExt, String(Round($i / $CmdLine[0] * 100, 1)) & "%")
			If FileExists($sSourceFile) Then
				$sExePath = FileGetShortName('C:\Program Files (x86)\noesis\4231\Noesis.exe') & ' ?cmode'
				$sParams = '-fbxexportver FBX201100'
				$sDestFile = '"' & $sDrive & StringTrimRight($sFolder, 1) & '\' & $sFileName & ".fbx" & '"'
				$sSourceFile = '"' & $sSourceFile & '"'
				$sRunWait = $sExePath & " " & $sSourceFile & " " & $sDestFile & " " & $sParams
				RunWait(@ComSpec & ' /c ' & $sRunWait, '', @SW_HIDE)
			Else
				MsgBox(0, '', "File [" & $sSourceFile & "] not found")
			EndIf
		Next
		ProgressSet(100, "Converting complete", "100%")
		Sleep(1000)
		ProgressOff()
	EndIf
Else
	MsgBox(0, "Usage", "Drop file(s) on " & @ScriptName)
	ConsoleWrite("Usage: " & @ScriptName & " <file>" & @CRLF)
EndIf

Exit (0)
 
Автор
Tosyk

Tosyk

Новичок
Сообщения
206
Репутация
0
проверил, работает! спасибо огромное. это отлично!

edit:
есть возможность тут использовать любое расширение?
Local $sPattern = "\.(?i:ascii)"
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
данный код не фильтрует по расширению. так что , все поддерживаемые файлы можно конвертировать
 
Автор
Tosyk

Tosyk

Новичок
Сообщения
206
Репутация
0
спасибо огромное!
наконец-то всё работает :-[
 
Верх