Jump to content

Recommended Posts

Posted (edited)

I am sure that I am doing something wrong, but I am trying to pass values to my script.   3 parameters like this, script.exe NAME IP VAR, or specifically,  script.exe testcase 192.168.1.2  1

 

So when I do _arrydisplay($cmdline) as a test, I do see all three values.  In my script, I have a statement that says IF $Cmdline[3] = 1 then $log = 1.  It seems to hang there with an unknown function error.  Is this not allowed or did I most likely just fat finger something?

Edited by wisem2540
Posted

My crystal ball is in for repair, so in the meantime please post your code.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Posted
7 minutes ago, BrewManNH said:

My crystal ball is in for repair, so in the meantime please post your code.

_ArrayDisplay ($Cmdline)







  
   If $cmdline[3] = 1 then Extended_log=1

if $extended_log = 1 then _FileWriteLog ($log, "Extended logging is ON")


if $extended_log = 1 then _FileWriteLog ($log, "working on " & $cmdline[1])
if Ping($cmdline[2]) = 0 Then
   _FileWriteLog ($log, "Cannot Ping " & $cmdline[1] & " IP: " & $cmdline[2])
   Return
   EndIf

 

Posted
3 hours ago, Subz said:

Try something like:

Global $bLog = False
    If $CmdLine[0] >= 3 Then $bLog = $CmdLine[3] = 1 ? True : False
MsgBox(4096, "Log Info", $bLog)

 

I feel like Subz answer is very important so much so it should be elucidated with a better example in the helpfile

You should be checking if the parameter exists before you try to read the array just as you do with Ubound or checking element[0] on an array

Further he also converts that argument to his expected boolean argument which makes the resulting code clearer

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...