Sign in to follow this  
Followers 0
ScriptCrafter

Can you figure this out

8 posts in this topic

This may seem like a very n00b script like question, but I am stuck!!!

I want to be able to read a file, and for every line that begins with "[[", I want that line stored to a variable

Is this even possible?

Any help is much appreciated...

Thanks

-ScriptCrafter

Share this post


Link to post
Share on other sites



This may seem like a very n00b script like question, but I am stuck!!!

I want to be able to read a file, and for every line that begins with "[[", I want that line stored to a variable

Is this even possible?

Any help is much appreciated...

Thanks

-ScriptCrafter

_FileReadToArray() + For/Next + Condition Statement + StringLeft(array, 2) = '[[' + Condition.

[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

I would usedim $arraythingy[_FileCountLines(file..)] For i = 1 to _FileCountLines + if StringLeft(ReadFileLine(etc),2 = '[[' then $arraythingy = readfileline(etc)

since he did ask to add to a variable...better make 1 array

Share this post


Link to post
Share on other sites

better make 1 array

I gave a foundation not a complete solution... But your statement isn't even a qualifying statement, the OP didn't ask for it to be in an array.

[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Thanks for the pointers, I have started working with your ideas, but still get an error message :-)

DIM $ARRAY[_FileCountLines($FILE)]

FOR $I = 1 to _FileCountLines + IF StringLeft(ReadFileLine(etc),2 = "[[" THEN

$ARRAY[0] = $HOST1

$ARRAY[1] = $HOST2

$ARRAY[3] = $HOST4

Doesnt seem to keep the content of that line in the file stored as the $HOST

Anything wrong here?

-ScriptCrafter

Edited by ScriptCrafter

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

#include <array.au3>
Dim $aStore, $aArray
_FileReadToArray('FilePath\FileName.Extension', $aArray)
For $iCC = 1 To UBound($aArray) - 1
    If StringStripWS(StringLeft($aArray[$iCC], 2), 8) = '[['
        $aStore &= $aArray[$iCC] & Chr(1)
    EndIf
Next
$aStore = StringSplit(StringTrimRight($aStore, 1), Chr(1))
_ArrayDisplay($aStore, '[[')

Edited by SmOke_N

[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

Looks good Smoke

but instead of displaying the array

I need for any line in the file that begins with "[[" stored like this

$ARRAY[1] = $HOST1

$ARRAY[2] = $HOST2

$ARRAY[1] should have read the text file and have a value of [[HOSTNAME1]]

$ARRAY[2] should have read further into the file and have a value of [[HOSTNAME2]]

Thanks

ScriptCrafter

Share this post


Link to post
Share on other sites

DIM $ARRAY[_FileCountLines($FILE)]FOR $I = 1 to _FileCountLines + IF StringLeft(ReadFileLine(etc),2 = "[[" THEN

$ARRAY[0] = $HOST1

$ARRAY[1] = $HOST2

$ARRAY[3] = $HOST4

you're making a mistake here "ReadFileLine(etc)" - the syntax is FileReadLine

you should do the following:

DIM $ARRAY[_FileCountLines($FILE)]
$y=0
FOR $I = 1 to _FileCountLines ($FILE)
   IF StringLeft(FileReadLine($FILE, $i),2) = "[[" THEN
     $ARRAY[$y] = StringTrimLeft(FileReadLine($FILE, $i),2)
     $y+=1
   EndIf
Next

The way Sm0ke_N showed you is much easier but ... if you want to do it this way ... it is your choice.


SNMP_UDF ... for SNMPv1 and v2c so far, GetBulk and a new example script

wannabe "Unbeatable" Tic-Tac-Toe

Paper-Scissor-Rock ... try to beat it anyway :)

Share this post


Link to post
Share on other sites

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
Sign in to follow this  
Followers 0