Solved

Script to copy URL link to multiple computers

Posted on 2010-09-23
9
572 Views
Last Modified: 2012-05-10
I am creating a script to copy a URL shortcut to about 50 pcs, I would keep the list names in a txt file -->  "CopyFilesPcList.txt"

I get an error
LINE 15..... Unterminated string constant
Const ComputersList = "C:\sysadmin\CopyFilesPcList.txt"

Const SourceFile = "C:\sysadmin\Isolations.url"

Const TargetFolder = "C:sysadmin\"

Const ReportFile = "C:\sysadmin\CopyFilesLog.txt"

 

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim objFile : Set objFile = objFSO.CreateTextFile (ReportFile)

arrComputers = Split(objFSO.OpenTextFile(ComputersList).ReadAll, vbNewLine)

 

For Each PC in arrComputers

  objFile.WriteLine "Attempting copy to " & PC

  On Error Resume Next

  objFSO.CopyFile SourceFile, "\\" & PC & "\" & Replace(TargetFolder, ":\","$\")

  If Err.Number <> 0 Then

    objFile.WriteLine vbTab & "Failed to copy to " & PC"

  Else

    objFile.WriteLine vbTab & "File successfully copied to " & PC

  End If

  On Error Goto 0

Next

 

objFile.Close

Open in new window

0
Comment
Question by:epicazo
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 4

Assisted Solution

by:Cristi_E
Cristi_E earned 125 total points
Comment Utility
Hi epicazo,
Try to replace the line 15 with this one:
objFile.WriteLine vbTab & "Failed to copy to PC"
and line 17 with this one:
objFile.WriteLine vbTab & "File successfully copied to PC"
I don't see any PC variable so you can treat it as text.


I hope it will help!
All the best!
0
 
LVL 4

Expert Comment

by:Cristi_E
Comment Utility
Now i saw it on line 10 !!!!!!!
So you just need to change the line 15 with this one:
    objFile.WriteLine vbTab & "Failed to copy to " & PC

Thanks!
0
 
LVL 11

Expert Comment

by:TheGorby
Comment Utility
FYI anytime you get that 'Unterminated string constant ' error, it usually means you've got an extra or missing quote mark on one of your strings somewhere.
0
 
LVL 65

Expert Comment

by:RobSampson
Comment Utility
Cristi_E is right, you just had an extra quote on the end of line 15.   Removing that will solve your problem.

FYI, you're also missing a slash in the target folder.  This line
Const TargetFolder = "C:sysadmin\"

should be
Const TargetFolder = "C:\sysadmin\"

Regards,

Rob.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:epicazo
Comment Utility
I made the corrections, but for some reason I get an error in my log

Attempting copy to thebest1
      Failed to copy to \\thebest1\C$\Documents and Settings\All Users\Desktop

I do have access to the computer when I type "\\thebest1\C$\Documents and Settings\All Users\Desktop"

Here is my updated code
Const ComputersList = "C:\sysadmin\CopyFilesComputers.txt"

Const SourceFile = "C:\sysadmin\Isolations.url"

Const TargetFolder = "C$\Documents and Settings\All Users\Desktop"

Const ReportFile = "C:\sysadmin\CopyFilesLog.txt"

 

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim objFile : Set objFile = objFSO.CreateTextFile (ReportFile)

arrComputers = Split(objFSO.OpenTextFile(ComputersList).ReadAll, vbNewLine)

 

For Each PC in arrComputers

  objFile.WriteLine "Attempting copy to " & PC

  On Error Resume Next

  objFSO.CopyFile SourceFile, "\\" & PC & "\" & Replace(TargetFolder, ":\","$\")

  If Err.Number <> 0 Then

    objFile.WriteLine vbTab & "Failed to copy to \\"  & PC & "\" & Replace(TargetFolder, ":\","$\")

  Else

    objFile.WriteLine vbTab & "File successfully copied to " & PC & "\" & Replace(TargetFolder, ":\","$\")

  End If

  On Error Goto 0

Next

 

objFile.Close

Open in new window

0
 
LVL 4

Expert Comment

by:Cristi_E
Comment Utility
It would be useful to see the error number and description.
Just temporary replace the line 15 with this one and paste back the result:
    objFile.WriteLine vbTab & "Failed to copy to \\"  & PC & "\" & Replace(TargetFolder, ":\","$\") & " --> Number: " & Err.Number & ", Description: " & Err.Description

0
 

Author Comment

by:epicazo
Comment Utility
hmmm?    what is strange is that I am able to copy/past into that folder..

here is the error:
--> Number: 70, Description: Permission denied
0
 
LVL 65

Accepted Solution

by:
RobSampson earned 125 total points
Comment Utility
Hi, do you know if the PC is actually on?

Try this. I have added a Ping function.

Oh, and you also needed the trailing slash on the TargetFolder.

Regards,

Rob.
Const ComputersList = "C:\sysadmin\CopyFilesComputers.txt"

Const SourceFile = "C:\sysadmin\Isolations.url"

Const TargetFolder = "C:\Documents and Settings\All Users\Desktop\"

Const ReportFile = "C:\sysadmin\CopyFilesLog.txt"



If Right(TargetFolder, 1) <> "\" Then TargetFolder = TargetFolder & "\"	

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim objFile : Set objFile = objFSO.CreateTextFile (ReportFile)

arrComputers = Split(objFSO.OpenTextFile(ComputersList).ReadAll, vbNewLine)

 

For Each PC in arrComputers

	If Trim(PC) <> "" Then

		If Ping(PC) = True Then

			objFile.WriteLine "Attempting copy to " & PC

			On Error Resume Next

			objFSO.CopyFile SourceFile, "\\" & PC & "\" & Replace(TargetFolder, ":\","$\")

			If Err.Number <> 0 Then

				objFile.WriteLine vbTab & "Failed to copy to \\"  & PC & "\" & Replace(TargetFolder, ":\","$\")

			Else

				objFile.WriteLine vbTab & "File successfully copied to " & PC & "\" & Replace(TargetFolder, ":\","$\")

			End If

			Err.Clear

			On Error Goto 0

		Else

			objFile.WriteLine vbTab & PC & " is offline"

		End If

	End If

Next

 

objFile.Close



Function Ping(strComputer)

	Dim objShell, boolCode

	Set objShell = CreateObject("WScript.Shell")

	boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)

	If boolCode = 0 Then

		Ping = True

	Else

		Ping = False

	End If

End Function

Open in new window

0
 

Author Closing Comment

by:epicazo
Comment Utility
thank you all for yor help.  I split the points
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

In this article we will discuss all things related to StageFright bug, the most vulnerable bug of android devices.
Windows 10 is here and for most admins this means frustration and challenges getting that first working Windows 10 image. As in my previous sysprep articles, I've put together a simple help guide to get you through this process. The aim is to achiev…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
Windows 8 came with a dramatically different user interface known as Metro. Notably missing from that interface was a Start button and Start Menu. Microsoft responded to negative user feedback of the Metro interface, bringing back the Start button a…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now