@SW_HIDE

  • Hallo zusammen,

    Kann mir bitte jemand folgende Zeilen mit dem @SW_HIDE vervollständigen ?

    C:\Utils32\svcl.exe /SetVolume "Stereomix" 80

    C:\Utils32\svcl.exe /Disable "NVIDIA High Definition Audio\Device\ROG PG348Q\Render" all

    C:\Utils32\svcl.exe /Enable "High Definition Audio Device\Device\Lautsprecher\Render" all

    C:\Utils32\svcl.exe /SetDefault "High Definition Audio Device\Device\Lautsprecher\Render" all

    C:\Utils32\svcl.exe /SetVolume "Lautsprecher" 60

    C:\Utils32\svcl.exe /SetVolume "Stereomix" 80 ist Run("C:\Utils32\svcl.exe /SetVolume "Stereomix" 80, @SW_HIDE)

    Nur wie geht das, wenn weitere Befehle vorhanden sind ?

    Danke.

    Gruss,

    Angel

  • Hi :)

    C:\Utils32\svcl.exe /SetVolume "Stereomix" 80 ist Run("C:\Utils32\svcl.exe /SetVolume "Stereomix" 80, @SW_HIDE) ist kein valider AutoIt Code, von daher vermute ich einfach mal, dass du es mit Run versuchst...

    Dein Problem ist vermutlich, dass du " zeichen in dem Befehl hast, weil der Lautsprechername Leerzeichen enthält.

    In AutoIt werden Quotes (") für Strings genutzt. Um das Zeichen in einem String zu haben musst du entweder das Alternative Zeichen ' nutzen, um den String zu umschließen, oder du musst die " escapen, was in AutoIt mit Doppelung => "" gemacht wird.

    Also:

    AutoIt
    Local $sString
    $sString = "Dies ist ein String"
    $sString = 'Dies ist ein "String"'
    $sString = "Dies ist ein ""String"""
    $sString = "Dies ist ein " & '"' & "String" & '"'

    Um mehrfach den gleichen Code zu vermeiden und Fehlerbehandlung hinzuzufügen, würde ich das ganze vermutlich so, oder so ähnlich umsetzen:

  • Kanashius

    Herzlichen Dank für Deine grosse Mühe und Hilfe.

    Perfekt und es funktioniert !

    Nur das ist mir schon viel zu hoch.

    Da komme ich mit Deinem guten Skript nicht mehr nach.

    In den fast 40 Jahren habe ich es 2 Mal probiert einen Programmierkurs in Basic und Assembly zu machen,

    aber irgendwie habe ich die Logik nie zum Verstehen gebracht.

  • Ggf. einfachere Erklärung: Wie Kanshius angesprochen hat, ist das Problem, das du Leerzeichen hast, die du im CMD Befehl richtigerweise mit "" einklammerst.

    Da du aber "" in Autoit auch zur Definition des Strings nutzt passt das ganze nicht mehr.

    Das ganze kannst du auch einfach lösen indem du ' in Autoit für den Start/Ende des Strings nutzt (oder wie Kanshius machst):

    Wobei Kanashius hier durchaus eine gute komplette Lösung geliefert hat.

  • DOS / Windows kann mit Leerzeichen / Umlauten nicht umgehen?

    Sie übergeben einen Befehl an Windows / DOS, mal geht der Befehl mal geht er nicht? Vielleicht liegt es an Leerzeichen oder Umlauten im Aufruf. Unter DOS würde man das alles in Anführungszeichen setzen?

    Wie macht man das in AutoIt? Die Leerzeichen sind doch schon durch AutoIt verbraucht?

    Das geht so: $_test = '"für DOS"' ergibt in DOS "für DOS"

    Das geht so: $_test = "für DOS" ergibt in DOS für DOS

    Sie verstehen das nicht? Wenn Sie doppelte Anführungszeichen übergeben wollen müssen Sie vor das doppelte Anführungszeichen ein einfaches setzen.

    ' = einfaches Anführungszeichen

    " = doppeltes Anführungszeichen

    Sie wollen ein Windowsprogramm aufrufen und dort einen Pfad zu einer Datei übergeben?

    run ('F:\test\summatraPDF.exe "F:\ich werde gezeigt.pdf"')

    Dieser Befehl startet den Sumatra PDF Reader und übergibt den Pfad "F:\ich werde gezeigt.pdf" zu der Datei die angezeigt werden soll. Da diese Datei Leerzeichen im Pfad enthällt muss sie in Anführungszeichen stehen!

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Warum postet du das hier nochmal Peter S. Taler ? Und dann noch copy/paste die Übersetzung aus einem Englischen Beitrag/Artikel?

    Er/Sie hat es doch schon verstanden...

    Angel Ich persönlich empfehle daher Grundsätzlich ' für den Start/Ende des Strings zu nutzen, dann passiert dieses Problem fast gar nicht mehr. ;)

  • Moombas

    wie kommst Du auf die Idee das sei eine Übersetzung ? Womöglich noch von chat gpt?

    Vielleicht schaust Du mal da.... https://autoit.de/wcf/attachment/90327-autoit-buch-03-pdf/...

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    2 Mal editiert, zuletzt von Peter S. Taler (2. November 2023 um 18:38)

  • Nö, aus meiner SIcht siehst Du das richtig. Ich würde statt "bietet sich an" eine Formulierung verwenden, die mehr in Richtung Verpflichtung geht.

  • Wie ich auf eine Übersetzung komme ist ganz einfach: Das "Sie" wird hier normalerweise nicht genutzt und in Foren auch eher selten bis gar nicht. Die Texte schreien geradezu nach einer Übersetzung (so spricht keiner der Deutsch beherrscht).

    Beispiel: Die Leerzeichen sind doch schon durch AutoIt verbraucht?

    Englisch: The spaces are already used up by AutoIt?

    Wenn du den Text J4F mal komplett wieder zurück übersetzt finde ich das durchaus passend.

    Da ist eindeutig zu sehen, das das Original aus EN stammt, in DE würde man hier nicht "verbaucht", sondern eher "genutzt" o.ä. nutzen.

    Das mit dem "AutoIt Buch" kannte ich hier bisher nicht :saint:, scheint auch einmal angefangen und nie weiter geführt worden zu sein bei 1 Seite Inhalt (Deckblatt zählt nicht).

    Und ja, Quellen sollte man angeben, wenn man sich das irgendwoher holt. Immer!

    Und ja, deine Freundlichkeit ist mal wieder grenzenlos...

  • Doof nur das Buch von mir ist... es auch ein paar Seiten mehr hat... aber warum sollte ich es weiter veröffentlichen?

    Der eine vermisst in einem PDF das Inhaltsverzeichnis der andere meint wenn ich Deutsch beherrschen würde... würde ich so nicht schreiben?

    Wenn Moombas lesen könnte.. statt Märchen zu erzählen...würde er hier im Forum mal nachschlagen was ich zu diesem "Buch" geschrieben habe...

    und würde feststellen dass ich NICHT den Anspruch erhoben habe... dieses Ding alleine zu schreiben... aber das gibt ja die Suchfunktion des Forums her.

    Moombas bist Du Oberlehrer oder Deutschlehrer oder einfach nur ein Besserwisser, dass Du an einer sprachlichen Analyse GLAUBST festzustellen zu können wo die Quelle meiner Zeilen liegen? DbDdhkP

    Hochachtungsvoll

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Tut mir leid das ich beim geteilten Link, wenn ich nur 2 Seiten sehe, davon ausgehe, das dort nur 2 Seiten existieren...

    Und ich brauche darüber auch nicht diskutieren, Wenn es doch selbst geschrieben ist: Verzeih meine Anmaßung... Arbeite echt mal an deinem Umgang, das ist nicht das erste Mal... man muss nicht immer gleich so austicken und Beleidigungen... (ja ich kenne das Kürzel durchaus) erstmal schön an die eigene Nase fassen -.-

    OT: Eigentlich (auch wenn diese Abkürzung so genutzt wird/wurde) ist die Abkürzung falsch und müsste so lauten: DbDdhakP

  • Moombas

    Du beschuldigst, ohne Anlass und ohne Grund, Forenmitglieder des Plagiates. Schreibst anmaßende Beiträge wie ... das Thema ist gelößt warum schreibst Du noch ... teilst aus ohne Nachdenken nur so zum Spaß und wunderst Dich dann wenn man nicht auch noch die andere Wange hinhällt? Dann beschwerst DU Dich über den Ton?

    Das ist typisch für eine besondere Art von Menschen - austeilen aber nicht einstecken!

    Du solltest vor Deiner eigenen Haustüre kehren!!!

    So .. schreib was Du willst ... von mir gibt es zu diesem Thema an dieser Stelle keine weiteren Beiträge


    Hochachtungsvoll

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Peter S. Taler Ich bin wenigstens Sachlich geblieben und ich habe nie gesagt das du etwas irgendwo "geklaut" hast, nur das es sich (ohne Satz vorweg oder hinterher oder irgendwas zusätzlich) wie C&P und aus dem engl. Übersetzt ließt.

    Der Angesprochene Verweis zu einer Quelle (da wäre es genug gewesen das als Zitat zu markieren und z.B. "von mir aus dem AutoIt-Buch" o.ä. hinzuzufügen) hätte das ganze schon verhindert. Und dort ist auch nicht ersichtlich "das dies von dir ist".

    Gehe nicht davon aus das jeder hier soetwas immer auf dem Schirm hat, das dies hier mal Thema war.

    Im Gegensatz zu dir hast du von mir mind. 2 Entschuldigungen für falsche Annahmen bekommen, du machst jedoch schön weiter mit dem Rumgepolter. Fällt mir nix mehr zu ein und macht scheinbar auch keinen Sinn mit dir darüber normal drüber zu "reden".

  • BugFix , Raupi [et al.]

    Könnte bitte jemand von Euch diesen Thread schließen ?

    Der Fragesteller ist längst zufrieden, und alles andere sind Beiträge zu persönlichen Befindlichkeiten :rolleyes: .

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Oscar 3. November 2023 um 14:33

    Hat das Thema geschlossen.