hallo funkey, hallo der_doc,
danke fuer die schnelle hilfe ... muss ich mal probieren, ob das mein problem loesst ...
so long
sam
hallo funkey, hallo der_doc,
danke fuer die schnelle hilfe ... muss ich mal probieren, ob das mein problem loesst ...
so long
sam
hallo leute,
ich habe ein autoit-script, das ich als erstes starte und mir etliche werte ermittelt. das autoit-script soll mir am schluss eine vorhandene bat starten und die ermittelten werte an diese uebergeben.
ich krieg zwar die bat gestartet, schaffe es aber nicht, die werte an diese zu uebergeben.
kann mir jemand auf die spruenge helfen?
(ich hab das script als 'console' compiliert und mit dem befehl consolewrite herum experimentiert ... ohne erfolg)
danke
so long
sam
ps: hab vergessen, dass es eine direkte uebergabe an die bat sein soll, also ohne zwischen-schritt ueber eine temporaere datei oder sowas ...
funktioniert ...
vielen dank fuer die sehr schnelle hilfe ...
so long
sam
hi,
ich habe ein array mit 2 spalten und 20 zeilen und ein array mit 1 spalte und 20 zeilen.
wie erzeuge ich ein neues array mit 3 spalten und 20 zeilen? also quasi die spalte des zweiten array zum ersten hinzufuegen ...
danke fuer die hilfe
so long
sam
hi stefan,
vielen dank, jetzt funktionierts ...
scheint wohl an der unterschiedlichen vorgehensweise zwischen CASE und SWITCH zu liegen ...
so long
sam
hallo stefan,
danke fuer die schnelle hilfe. aber ganz hab ich es noch nicht kapiert und macht auch noch nicht das, was ich wollte.
ich erklaers vielleicht nochmal. normalerweise haette ich mein script so gestaltet:
$LW_A=TrayCreateItem('A')
$LW_B=TrayCreateItem('B')
$LW_C=TrayCreateItem('C')
...
$LW_Z=TrayCreateItem('Z')
WHILE 1
$MSG=TrayGetMsg()
SELECT
CASE $MSG=0
CONTINUELOOP
CASE $MSG=$LW_A
MSGBOX (0,'INFO','ist A')
CASE $MSG=$LW_B
MSGBOX (0,'INFO','ist B')
CASE $MSG=$LW_C
MSGBOX (0,'INFO','ist C')
...
CASE $MSG=$LW_Z
MSGBOX (0,'INFO','ist Z')
ENDSELECT
WEND
ich wollte mir natuerlich tip-arbeit sparen und das ganze per schleife eleganter loesen.
sam
hi leute,
ich habe mir ein tray-script erzeugt, das mir auf auf die rechte mouse-taste die variablen a bis z legt:
DIM $LABEL[26]=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
DIM $LW_X[26]
FOR $X=0 TO 25
$LW_X[$X]=TrayCreateItem($LABEL[$X])
NEXT
das funktioniert soweit, aber ich bekomme es nicht hin, dass beim anklicken der items etwas ausgeführt wird:
WHILE 1
$MSG=TrayGetMsg()
SELECT
CASE $MSG=0
CONTINUELOOP
CASE $MSG=$LW_X[$X]
MSGBOX (0,'INFO',$LABEL[$X])
ENDSELECT
WEND
ich hoffe, es ist nur ein einfaches syntax-problem ... weiss jemand, was ich falsch mache?
danke fuer die hilfe
sam
hi oscar,
danke fuer die hilfe, aber ganz so einfach ist es eben nicht, weil man eben nicht weiss, wie der gesamte name und somit die pfadlaenge des shares lautet ...
so long
sam
hallo leute,
ich moechte den unc-pfad incl. share-namen bestimmen, von dem aus mein autoit-script gestartet wird. also z. b. liegt mein script unter
\\servername.schlagmichtot.net\erster_ordner\zweiter_ordner\freigabe_share\noch_ein_ordner\und_noch_einer\hier_liegt_mein_script\mein-autoit-script.exe
\\servername.schlagmichtot.net\erster_ordner\zweiter_ordner\freigabe_share ist der share, den ich ermitteln moechte ...
@ScriptDir liefert mir alles: \\servername.schlagmichtot.net\erster_ordner\zweiter_ordner\freigabe_share\noch_ein_ordner\und_noch_einer\hier_liegt_mein_script
DriveMapGet wuerde mir den share liefern, wenn er denn als laufwerk verbunden waere, ist er aber nicht
mir fehlt irgendwie die logig, um vom gesamten pfad auf den share zu kommen ...
weiss jemand rat? danke
so long
sam
grad wollt ich laut geben, dass ich in der autoit-hilfe die loesung gefunden hab, aber micha_he war schneller
genau das isses: consolewrite
vielen dank euch beiden fuer die hilfe ...
so long
sam
ps: bearbeiten muss die batch nicht jeder koennen ... aber lesen wollen sie alle koennen ...
ok, dass hab ich begriffen, aber in welcher form meine variable dann dort landet hab ich noch nicht begriffen ... Konsolen-Standard-Eingabe-Stream???
@ oliverh:
da hab ich schon wieder das naechste problem: die process_id heraus zu bekommen ... hatte auf eine einfachere loesung gehofft ... vielleicht kommt die ja noch ... trotzdem danke ...
batch compile to autoit ... ist jetzt nicht wirklich eine hilfe fuer mein problem ... ... mit der batch muessen noch andere kollegen arbeiten, die noch weniger ahnung von autoit haben, als ich ...
hi leute,
ich hab das forum schon bezueglich meines problems durchsucht, komm aber nicht so recht weiter:
ich starte in einer mein-batch.cmd mein autoit-script (start /b /wait mein-script.exe), dass mir dann eine variable ermittelt und diese direkt an die batch zurueck liefern soll, so dass ich dann in der batch als variable damit weiter arbeiten kann.
es scheitert momentan an der uebergabe von autoit nach batch.
wie mach ich das direkt?
danke
so long
sam
hi peethebee,
das funktioniert nicht nur besser, das funktioniert SUPER.
vielen dank fuer die schnelle hilfe.
so long
sam
hallo leute,
ich steh mal wieder auf'm schlauch:
wie definiert man die zulaessigen werte fuer eine variable?
beispiel:
die variable $meine_variable darf die werte 'm' oder 'd' oder 't' oder 'h' annehmen, die ich als parameter an mein script uebergebe.
wenn ich einen anderen als einen dieser vier buchstaben uebergebe, soll ein fehler ausgespuckt werden.
ich habs mit OR probiert:
$meine_variable=$cmdline[1]
if not $meine_variable='M' or _
not $meine_variable='D' or _
not $meine_variable='T' or _
not $meine_variable='H' then
msgbox(0,'','error')
exit
else
msgbox(0,'','ok')
endif
das teil sagt aber immer ok, egal, was fuer einen buchstaben ich uebergebe.
was mach ich falsch?
so long
sam
hi leute,
wie geht man vor um strings in einem 2d-array zu ersetzen? eventuell gibts schon ne function, die ich nur nicht gefunden habe?
danke fuer die hilfe
sam
>>>>><
ok, habs selber hinbekommen:
For $I=7 To 17
$DRIVE_X[$I][3]= StringReplace ($DRIVE_X[$I][3],'\','#')
Next
thx
sam
hi mega,
mal wieder vielen dank ... mit deinem beispiel hab ich die syntax jetzt etwas besser kapiert, als es in der autoit-hilfe geschildert ist ... und das ist mein noch leicht optimiertes endergebnis:
#include<array.au3>
DIM $ARRAY[4][4] = [ ['1A','1B','1C','1D'] , _
['2A','2B','2C','2D'] , _
['3A','3B','3C','3D'] , _
['4A','4B','4C','4D'] ]
_ArrayDisplay($ARRAY)
kthx
so long
sam
hi leute,
kurze frage zur formatiertung eines 2d arrays: kann man die einzelnen werte des arrays irgendwie tabellenmaessig eingeben, z. b. so
DIM $ARRAY[4][4]
$ARRAY[0][0]='1 A' , $ARRAY[0][1]='1 B' , $ARRAY[0][2]='1 C' , $ARRAY[0][3]='1 D'
$ARRAY[1][0]='2 A' , $ARRAY[1][1]='2 B' , $ARRAY[1][2]='2 C' , $ARRAY[1][3]='2 D'
$ARRAY[2][0]='3 A' , $ARRAY[2][1]='3 B' , $ARRAY[2][2]='3 C' , $ARRAY[2][3]='3 D'
$ARRAY[3][0]='4 A' , $ARRAY[3][1]='4 B' , $ARRAY[3][2]='4 C' , $ARRAY[3][3]='4 D'
so waer es fuer mich natuerlich schoen uebersichtlich, funktioniert aber nicht
oder muss ich definitiv die werte jeden einzeln in eine zeile schreiben, also so
DIM $ARRAY[4][4]
$ARRAY[0][0]='1 A'
$ARRAY[0][1]='1 B'
$ARRAY[0][2]='1 C'
$ARRAY[0][3]='1 D'
$ARRAY[1][0]='2 A'
$ARRAY[1][1]='2 B'
$ARRAY[1][2]='2 C'
$ARRAY[1][3]='2 D'
$ARRAY[2][0]='3 A'
$ARRAY[2][1]='3 B'
$ARRAY[2][2]='3 C'
$ARRAY[2][3]='3 D'
$ARRAY[3][0]='4 A'
$ARRAY[3][1]='4 B'
$ARRAY[3][2]='4 C'
$ARRAY[3][3]='4 D'
so funktionierts, find ich aber unuebersichtlich
hab ich bei meinem ersten versuch nur bei der formatierung was falsch gemacht? vielleicht
das ganze irgenwie in klammern setzen oder so? oder geht wirklich nicht?
thx
so long
sam
hi taek, hi oscar,
schnelle hilfe, vielen dank. erfuellt beides meine zwecke.
so long
sam
hi,
ich moechte alle registry-unter-schluessel des schluessels 'HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\MOUNTPOINTS2'
in ein array schreiben.
mit RegEnumKey komm ich an die schluessel ran, aber wie mach ich ein array draus?
ist wahrscheinlich wieder mal ganz einfach, aber mit arrays steh ich schon immer irgendwie auf kriegsfuss.
danke fuer eure hilfe
so long
sam