FileExists & FileWrite Problem

  • Wieso geht das nicht?

    Spoiler anzeigen
    [autoit]


    If FileExists("test.bat") Then
    FileWrite("test.bat", '"ffmpeg" -i ')
    FileWrite("test.bat", GUICtrlRead($DwnInput)&".flv")
    FileWrite("test.bat", "-vcodec mpeg1video -acodec copy -b 600 ")
    FileWrite("test.bat", GUICtrlRead($DwnInput)&".flv")
    FileClose("test.bat")

    [/autoit] [autoit][/autoit] [autoit]

    Else
    _FileCreate("test.bat")
    FileWrite("test.bat", '"ffmpeg" -i ')
    FileWrite("test.bat", GUICtrlRead($DwnInput)&".flv")
    FileWrite("test.bat", "-vcodec mpeg1video -acodec copy -b 600 ")
    FileWrite("test.bat", GUICtrlRead($DwnInput)&".flv")
    FileClose("test.bat")
    EndIf

    [/autoit]

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Xenobiologist

    Wie soll ich das denn machen? Die Datei soll ja jedes mal neu erstellt werden, dann ausgeführt werden und anschließend gelöscht werden.

    Und wenn, wo muß ich das FileOpen("test.bat", 0) einfügen?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Also, direkt mit Autoit gehts auch:

    [autoit]

    Run('"ffmpeg" -i "'& GUICtrlRead($DwnInput) &'.flv" -vcodec mpeg1video -acodec copy -b 600 "'& GUICtrlRead($DwnInput) &'.mpg"')

    [/autoit]
  • Außerdem öffnet und schließt FileWrite eine Datei doch sowieso. Die Variante mit Open & Close ist zwar ordentlicher aber Alina's Code funktioniert bei mir,.... fast:

    - _FileCreate habe ich nicht (wird bei mir aber auch nicht gebraucht
    - die Anführungszeichen um das "ffmpeg" sollten doch bestimmt um die Eingangsdatei, oder ?
    - einige Leerzeichen im FFMpeg-Aufruf sind doppelt, sollte aber trotzdem gehen
    - die Endung für das Out-File muss eigentlich .mpg lauten oder ?

    Aber ich habe Alina's Varainte etwas zum Test vervollständigt (GUI) und leicht korrigiert...

    [autoit]

    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    $Form = GUICreate("Form",400,200)
    $DwnInput = GUICtrlCreateInput("abcd",20,10)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If FileExists("test.bat") Then
    FileDelete("test.bat")
    EndIf
    FileWrite("test.bat", "ffmpeg -i ")
    FileWrite("test.bat", chr(34) & GUICtrlRead($DwnInput) & ".flv" & chr(34))
    FileWrite("test.bat", " -vcodec mpeg1video -acodec copy -b 600 ")
    FileWrite("test.bat", chr(34) & GUICtrlRead($DwnInput) & ".mpg" & chr(34))

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo.

    Habe jetzt drei Sachen ausprobiert

    1. Möglichkeit

    Spoiler anzeigen
    [autoit]


    Run('"ffmpeg" -i "'& GUICtrlRead($DwnInput) &'.flv" -vcodec mpeg1video -acodec copy -b 600 "'& GUICtrlRead($DwnInput) &'.mpg"')

    [/autoit]


    2. Möglichkeit

    Spoiler anzeigen
    [autoit]


    If Not FileExists("test.bat") Then _FileCreate("test.bat")
    FileOpen("test.bat", 2)
    FileWrite("test.bat", '"ffmpeg" -i ')
    FileWrite("test.bat", GUICtrlRead($DwnInput)&".flv")
    FileWrite("test.bat", "-vcodec mpeg1video -acodec copy -b 600 ")
    FileWrite("test.bat", GUICtrlRead($DwnInput)&".mpg")
    FileClose("test.bat")

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Fertig","Fertig")

    [/autoit]


    3. Möglichkeit

    Spoiler anzeigen
    [autoit]


    FileOpen("test.bat",2)

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists("test.bat") Then
    FileDelete("test.bat")
    EndIf
    $file = "test.bat"

    [/autoit] [autoit][/autoit] [autoit]

    FileWrite($file, '"ffmpeg" -i ')
    FileWrite($file, '"2536790.flv" ')
    FileWrite($file, "-vcodec mpeg1video -acodec copy -b 600 ")
    FileWrite($file, '"2536790.mpg"')

    [/autoit] [autoit][/autoit] [autoit]

    FileClose($file)

    [/autoit]

    Nur möchte keine der drei Möglichkeiten ab Zeile 34 laufen.

    Spoiler anzeigen
    [autoit]


    #include<Inet.au3>
    #include<GUIConstants.au3>
    #include<File.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICreate("My Video.de Downloader", 273, 105, 193, 115, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    $DwnInput = GUICtrlCreateInput("2354666", 8, 24, 257, 21)
    GUICtrlCreateLabel("www.myvideo.de Video-Nummer(ID):", 8, 8, 268, 15)
    $start = GUICtrlCreateButton("&Start", 8, 48, 128, 25, 0)
    $Progress = GUICtrlCreateProgress(8, 80, 257, 16)
    $abb = GUICtrlCreateButton("A&bbruch", 137, 48, 128, 25, 0)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $start
    GUICtrlSetState($start,$GUI_DISABLE)

    [/autoit] [autoit][/autoit] [autoit]

    $link = _LinkLoad(GUICtrlRead($DwnInput))
    InetGet($link, @ScriptDir&"\"&GUICtrlRead($DwnInput)&".flv")
    If @error Then
    MsgBox(0,"Download","Downloaderror")
    Else
    GUIDelete()
    MsgBox(0,"","Download abgeschlossen! Datei wird nun umgewandelt.")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ; hier soll es rein !!!

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _LinkLoad($id)
    $url = "http://www.myvideo.de/watch/"&$id
    $source = _INetGetSource($url)
    $array = StringRegExp($source, "((http://myvideo-)\d+(.)\w+(.)\w+(.net)(/)\w+(/)\w+(/)\w+(/)"&$id&"+(.flv)){1}", 2)
    If IsArray($array) Then
    $VidLink = $array[1]
    Return $VidLink
    Else
    Return 1
    EndIf
    EndFunc

    [/autoit]

    mmmmmmh, was mache ich nur falsch? Sicherlich mache ich einen Fehler beim einbinden, aber diesen finde ich einfach nicht. ?(

    Edit: Separat gehen die Möglichkeiten, aber nicht im Script, wenn ich diese ab o. g. Zeile einfüge.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (10. Januar 2008 um 19:01)

  • Hinter das "wend" ab Zeile 34 ???

    Da kommt doch Dein Script nie hin !
    Es läuft doch von "while 1" bis "wend" oder verlässt das Programm mit "exit".

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • So, Thema geschlossen.

    Fehler lag bei mir.

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • ok, aber der Fehler war, das ich das GUI zu früh geschlossen habe.
    Datei (test.bat) wird zwar noch nicht gelöscht, aber der Inhalt.

    Fertiges Script (ohne Progressbar) steht unter dem Mydideode Beitrag auf Seite 2.

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl