Danke Greenhorn
Grade mit den Anführungszeichen wäre eine eigene FAQ-Seite zu füllen.
Findet man zu dem Thema speziell etwas ?
Ausführliche Beispiele wären nicht schlecht !
Gruß und gute Nacht
Macrostop
Danke Greenhorn
Grade mit den Anführungszeichen wäre eine eigene FAQ-Seite zu füllen.
Findet man zu dem Thema speziell etwas ?
Ausführliche Beispiele wären nicht schlecht !
Gruß und gute Nacht
Macrostop
Hallo Community
Das folgende Script hängt an der Stelle mit "%1" sagt SciTE.
Ohne die Anführungsstriche läuft es und übergibt den Parameter an die Batchdatei, die mit Filewrite erzeugt und dann ausgeführt wird.
Wegen der Leerzeichen in den Pfadnamen MÜSSEN die Anführungszeichen aber sein.
$var = FileSelectFolder("Laufwerk oder Ordner wählen:", "", "C:\") ; 1=Ordner erstellen 2=New Style 4=Edit Control
$file = FileOpen(@TempDir & "\sender.cmd", 10)
FileWrite($file, "@echo off" & @CRLF)
FileWrite($file, "Title CMD" & @CRLF)
FileWrite($file, "Color 1F" & @CRLF)
FileWrite($file, "echo." & @CRLF)
FileWrite($file, "echo. pushd "%1" " & @CRLF)
FileWrite($file, "echo." & @CRLF)
FileWrite($file, "pause")
FileClose($file)
ShellExecute(@TempDir & "\sender.cmd", $var) ; =OK v3.2
Alles anzeigen
Meine Frage: Wie muß ich "%1" "einkleiden" damit diese 4 Zeichen korrekt in die Batchdatei geschrieben werden ?
Mit fragendem Gruß Macrostop
Vielen Dank für Eure Mühe, mir die neue Version von AutoIt schmackhaft zu machen.
Leider hab ich oft den Quellcode gelöscht, weil ich wußte daß ich die Exen recompilieren kann.
Naja, wahrscheinlich ist es Zeit alte Zöpfe abzuschneiden und neue Methoden zum archivieren des Quellcodes zu entwickeln.
Gruß und Dank von Macrostop
Oehm Also, dann hab´ ich erstmal keine weiteren Fragen, und sag´mal daß der Fall gelöst wurde ?
Oder muß ich noch was machen ?
Micha_he
Vielen Dank für Deine Antwort, beide Scripte übergeben die Variable korrekt.
Auf der Suche nach Regeln für Anführungszeichen hab ich nur einzelne Beispiele gefunden;
gibts zu dem Thema eventuell ein Tutorial oder eine Beispielsammlung ?
peethebee
Wenn in der neueren Version v3.2 die sinnvolle Option des Recompilierens entfernt worden ist, mit der Begründung daß es "zu gefährlich" ist, recompilierbaren Code zu erstellen, dann frag ich mich: Wozu hat´s denn die Option "/nodecompile" gegeben ?
War denn der Code zu knacken ?
Warum ist der Confuscator nicht als Compilier-Option integriert ?
Nichts gegen AutoIt v3.2, aber als Amateur ist es mir lieber, daß ich meine Exen wieder "aufmachen" kann, z.B. mit der "/pass" Option.
Sicher bin ich mit dieser Ansicht nicht allein, deshalb kann ich mir vorstellen, daß die fähigen Köpfe von AutoIt auch hier nachbessern werden.
Gruß Macrostop
Hallo Community
Ich verwende immer noch AutoIt v3.1.1 weil ich da die Scripte recompilieren kann.
Leider funktioniert bei dieser Version die Variablenübergabe mit "ShellExecute" nicht, oder anders als bei AutoIt v3.2.
Bitte werft mal nen Blick auf mein mißratenes Script: (Script.au3 definiert die Variable und soll sie an return.cmd übergeben)
script.au3 :
[autoit]$Save = FileSaveDialog ( "Datei speichern unter", @MyDocumentsDir, "Windows-Image (*.wim)", 3)
[/autoit][autoit][/autoit][autoit]If @error Then
MsgBox(4096,"","Save cancelled.")
Else
MsgBox(4096,"","You chose " & $Save)
EndIf
;ShellExecute(@ScriptDir & "\return.cmd", $Save) ; =OK in v3.2
run(@ScriptDir & "\return.cmd " & $Save) ; =Nicht OK in v3.1
return.cmd :
@echo off
title Return Variable
color 1e
:_check
echo.
echo. der erste Wert lautet "%1.wim"
echo.
pause
Vielleicht fehlen irgendwo die Anführungsstriche oder was anderes.
Da die Ausführung in einem Ordner ohne Leerzeichen läuft, nehme ich an daß -@ScriptDir &- irgendwie in Anführungszeichen gesetzt werden muß.
Hab schon alle möglichen Variationen ohne Erfolg durchprobiert.
Es wäre schön, wenn jemand mein Script korrigieren könnte.
Gruß Macrostop