Recently Browsing 0 members
No registered users viewing this page.
Simple script latest autoit version.
#include <GUIConstantsEx.au3> #include <FontConstants.au3> Example() Func Example() GUICreate("test", 800, 540) GUISetFont(12, $FW_NORMAL, $GUI_FONTNORMAL) GUICtrlCreateLabel("testing",680,310) GUISetState(@SW_SHOW) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example After using GUISetFont(12) or GUISetFont(12, $FW_NORMAL, $GUI_FONTNORMAL) every GUI control is changed to italic.
Am i doing something wrong?
$sCommands1 = 'powershell.exe Get-ChildItem' $iPid = run($sCommands1 , @WorkingDir , @SW_SHOW , 0x2) $sOutput = "" While 1 $sOutput &= StdoutRead($iPID) If @error Then ExitLoop EndIf WEnd ;~ msgbox(0, '' , $sOutput) ConsoleWrite("$sOutput") ConsoleWrite($sOutput) ConsoleWrite(@CRLF) $aOutput = stringsplit($sOutput ,@LF , 2) For $i=0 To UBound($aOutput) - 1 Step 1 ConsoleWrite($aOutput[$i]) Next The script above reads the whole directory into a one dimensional array, but I need to work with the array, so I need to split the array into multiple dimensions.
I have already read some forum answers here, and I have already tried these commands:
Are there any way to use the $aOutput variable like in PowerShell:
$a = Get-ChildItem $a.Mode I imagine this in AutoIt $aOutput
ConsoleWrite($aOutput[i].Mode) Or if I split this command into 2 dimension like:
For $i To UBound($aOutput)-1 Step 1 ConsoleWrite($aOutput[$i]) ConsoleWrite($aOutput[$i]) Next
If I run this code, it works perfectly
$CmdPid = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit " & 'Get-ChildItem',@DesktopDir, @SW_SHOW) But this code
$CmdPid = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit " & 'Get-RDUserSession',@DesktopDir, @SW_SHOW) I get this error:
Get-RDUserSession : The term 'Get-RDUserSession' is not recognized as the name of a cmdlet, function, script file, or o perable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try aga in. If I try run the command Get-RDUserSession in normal PowerShell (started from windows start menu) the command works perfectly.
But If I run with AutoIt I get the above mentioned error .
I haven't used AutoIt in more than 10 years and I am sure a lot has improved since that long time. I hope you can give me some suggestions on my approach.
Task: I need to extract user data (for around 1700 users) from a website tool. That tool shows an output in a table on the website. However, no export feature is available and I need the data in an Excel file, such as:
username, serial number (of a laptop), ID number (of laptop) and some more
With my knowledge from 2009 I would do this:
1) use _IEextract with each username in the url to get the whole source code of the website with the user's data summary
2) Work with lots of regexpressions to extract each data piece, save them into variables/array
3) Write variable values into an Excel file
4) rinse repeat 1700 times
The relevant line for step 3 looks like this:
<td class="resultcell"><span class="new">2021-03-23 11:05:00</span></td><td class="resultcell">Hostname-1234</td><td class="resultcell"><a href="?&Search=Search&result=summarized%20history&field=serial%20numbers&criteria=123456">123456</a></td><td class="resultcell">0987654/td><td class="resultcell"><a href="?&Search=Search&result=summarized%20history&field=usernames&criteria=myusername">myusername</a> and so on.. so here it would be Hostname-1234, 0987654 and myusername that I would need to extract.
Although this may work it does not appear very efficient and would take a while. So I am happy for an alternate approach. Preferably, without using additional exe binary files due to company policies besides AutoIt itself.