Issue with Select-String

by JonBryce at 2012-11-14 12:08:01

How do. Just had an issue here in production with a script of mine that uses ‘Select-String’.

What happens is…
- the script uses PSFTP to send some files from here to a remote directory. It scrolls output to a txt file
- I use ‘Select-String’ within the txt file output to see if the file transfer worked: something like…

$TMP_FOLDER = "C:\Temper\TEMP"

if ( Select-String -pattern ‘/users/transfers/FILE1.TRANSTMP -> /users/transfers/FILE1.TRN’ -path $TMP_FOLDER\XFER_TODAY.txt -list -quiet )
{
write-Output "Found it"
}
else
{
write-Output "Missing"
}

(I’ve changed file names to protect the innocent…). This worked fine in my testing, and in prod for three days. Today it failed to find the text. But when I grab the XFER_TODAY.txt file and run the same logic, it works fine.

So - anything funny with Select-String? Or maybe my PSFTP had the file locked exclusive and ‘Select-String’ failed to go through the lock?

Thoughts welcome - and thanks!
by nohandle at 2012-11-14 14:02:57
Hi,
it is hard to say what exactly went wrong.
You should implement some logging and exception handling to be aware of any errors.

btw: the patttern is regex and . has some special meaning in regex. not really a problem in this case but you should use -simpleMatch operator.
by JonBryce at 2013-01-28 10:58:49
Thanks Jakub - I’ll put in the ‘-simplematch’. I already have logging and exception - but I’ll see what else I can do.

Regards