Habs gefunden!
"StringStripWS" ist das zauberwort.
Habs gefunden!
"StringStripWS" ist das zauberwort.
Ich habe einen String der immer 16 Zeichen lang ist (der Rest wird immer automatisch mit Leerzeichen aufgefüllt), und suche nun eine Möglichkeit daraus alle Leerzeichen zu löschen/ersetzen die am Ende des Strings stehen.
Als Beispiel (die _ symbolisieren die Leerzeichen):
"ABC_DEF_________" soll zu "ABC_DEF" werden.
Kann mir da jemand einen Tipp geben?
"StringReplace" wäre ja schon ein Ansatz, aber das alleine is es ja nicht.
Den kompletten Code mit über 10 Zeilen hier zu posten, macht keinen Sinn.
Wie gesagt, es geht mir in erster Linie darum das bei einer mehrfach Auswahl aus einer Listbox für jeden Eintrag ein Eingabe-GUI geöffnet wird in dem ich dann den namen der nächsten Datei eingeben kann die umbenannt werden soll.
Das hilft mir in meinem Fall oleider nicht weiter. Das Script geht davon aus das alle Daten in einem Formular vorhanden sind. Bei mir sind es jedoch zwei
Bräuchte bitte mal einen Tip wie man das angehen könnte.
Ich habe mir ein Script gebastelt das mir mit hilfe einer Listbox alle markierten Dateien umbennen soll.
Dabei möchte ich für jede ausgewählte Datei ein Eingabefeld bekommen für den neuen Dateinamen.
ZitatAlles anzeigenFunc _RenameFile()
Local $d64dateiauswahl = _GUICtrlListBox_GetSelItems($list_dir)
If $d64dateiauswahl[0] = 0 Then Return MsgBox(16, "Hinweis", "Es wurden keine Dateien zum umbenennen ausgewählt.")
GUICtrlSetData($input_renamefilename, StringLower(StringMid(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl), 7, StringInStr(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl), '"', 0, -1) - 7)))
GUISetState(@SW_DISABLE, $gui_main)
GUISetState(@SW_SHOW, $gui_renamefile)
EndFunc
Func _RenameFileOK()
Local $filename = GUICtrlRead($input_renamefilename)
Local $d64dateiauswahl = _GUICtrlListBox_GetSelItems($list_dir)
_RenameFileClose()
GUICtrlSetData($edit_vorgang, "Ausgewählte Datei(n) umbenennen ...")
For $i = 1 To $d64dateiauswahl[0]
RunWait(@ComSpec & ' /c cbmctrl pcommand ' & GUICtrlRead($combo_laufwerkid) & ' "r:' & $filename & "=" & StringLower(StringMid(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl[$i]), 7, StringInStr(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl[$i]), '"', 0, -1) - 7)) & '"' , "", @SW_HIDE)
Next
EndFunc
Man wählt dabei mehrere Dateien im Lister $list_dir aus, danach wird das Eingabe-GUI $gui_renamefile geöffnet das aus der ersten ausgewählt Datei den Namen ausliest und vorgibt. Diesen kann ich dann beliebig ändern und mit der Schaltfläche OK wird die erste Datei dann umbenannt.
Ist das erledigt, soll das Eingabe-GUI wieder erscheinen und die nächste Datei auslesen/umbennenen.
Ich stehe da jedoch mit meinen Überlegungen nun etwas an. Wie könnte man das umsetzen ?
Sagt mal, kann mir jemand erklären warum ein kompiliertes Script mit einer älternen Aut2Exe kleiner wird als mit einer aktuellen?
Das gleiche Script:
Dabei habe ich höchste kompression mit UPX Compress ausgewählt.
Ich stehe da etwas am Schlauch, aber wie verflixt kann ich mittels AutoIt einen Text der in einer Variable gespeichert ist in Windows ausgeben?
Und damit meine ich nicht in einer MsgBox sondern zb. in ein Textformular einer Anwendung, oder einem Texteditor oder einem Webformular.
Also wenn ich das Script starte schreib mir meine Adressdaten in das Textfeld wo mein Cursor steht...
Diese SciTEUser.properties sollte die schon existieren? Weil bei mir gibt es die nicht.
Was bedeutet "freie Kommandonummer" ?
Kenn mich da nicht so aus.
Ich möchte den Inhalt einer Textdatei von A-Z sortieren.
Also
D...
B...
A...
C...
in
A...
B...
C...
D...
Gibt es im SciTE die Möglichkeit Zeilen zu sortieren?
Also eine ganz normale Sortierfunktion wie es auch MS Word anbietet.
Ich habe folgendes vor:
Und zwar möchte ich zwei Verzeichnisinhalte auslesen (gefüllt mit mp4-Dateien), die Endung entfernen und alphabetisch sortiert in eine txt-Datei speichern.
Soweit bin ich schon gekommen:
#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
Local $path1 = "G:\Videos\Filme\Neu"
Local $path2 = "G:\Videos\Filme\Gesehen"
Local $path3 = "G:\Videos\Filme" & "\Liste.txt"
Liste()
Func Liste()
Local $aFileListNeu = _FileListToArray($path1, "*", 1)
Local $aFileListGesehen = _FileListToArray($path2, "*", 1)
_ArrayConcatenate($aFileListNeu, $aFileListGesehen)
_ArraySort($aFileListNeu)
_FileWriteFromArray($path3, $aFileListNeu, 1)
_ArrayDisplay($aFileListNeu, "Filmübersicht")
EndFunc
Alles anzeigen
Das funktioniert soweit schon ganz gut.
Jetzt fehlen mir noch folgende Dinge:
Danke dir!
Bei mir verlangt es noch nach einer WinAPIConv.au3
Wo bekomme ich die her?
Die WindowsConstants.au3 benötigt die offensichtlich.
Zwei Funktionen wären ein Hit:
Danke dir.
Hab mir das mal kurz angesehen, allerdings absolut keine Ahnung wie ich das für meine Zwecke verwenden kann.
Da versteh ich nur Bahnhof.
Na dann bin ich mal so frei (siehe Anhang)
Wenn es eine andere Möglichkeit gäbe wäre ich natürlich nicht abgeneigt.
Im Prinzip reicht es mir wenn die MMC gestartet wird und eine Benutzerkennung, den ich zuvor ausgewählt habe gesucht wird.
Ich möchte gerne aus einem Autoit-Script die MMC Console starten und dort automatisiert die Option "Suchen" (entweder über das Menü Aktion oder über die Schaltfläche) auswählen.
Damit ich das anschließende Eingabefeld mit Daten füllen kann.
Allerdings habe ich das Problem das mir Au3Info weder für die Schaltfläche, noch für die Option im Menü Daten rückliefert.
Jetzt weiß ich nicht wie ich diese Option auswählen soll.
Hat da jemand einen Tipp für mich?
Ich habs schon hinbekommen, danke euch!
Ok, es liegt wohl daran das CMD als Administrator gestartet werden muß.
Damit fällt die Option aber leider aus, da ich das hier im Firmenbetrieb nicht so bereitstellen kann.
Was mich noch interessieren würde, warum stellt Autoit Umlaute die in einem CMD korrekt ausgegeben werden falsch dar?
Das "Kennwort änderbar" wird zb. zu einem "Kennwort „nderbar"
Die msgbox bleibt leer. Also es liefert mir kein Ergebnis.
Ist dieses |find eine Option von net user oder von Autoit?