?
Solved

batch file to copy remotly a file

Posted on 2007-11-28
6
Medium Priority
?
680 Views
Last Modified: 2008-02-01
i want to replace a file  (Connect.ini) that is stored on C:\Program Files\SIMS\SIMS .net  (note that SIMS .net  is a folder) in a remote computer. The new file ( the one i want to replcalce the existing one with) is stored on the root of my C: (where the script will run from). Here is what i tried:

Please note that %1 is the remote computer name
ATTEMPT 1
copy /y c:\Connect.ini  \\%1\C$\Program Files\SIMS\SIMS .net\

I get the following error message for this one:
'The syntax of the command is incorrect.'


ATTEMPT 2
rem net use z: \\%1\c$
rem del z:\Program Files\SIMS\SIMS .net\Connect.ini
rem copy c:\Connect.ini z:\Program Files\SIMS\SIMS .net\Connect.ini
rem net use z: /d

I get the following error message for this one:

C:\>net use z: /d
z: was deleted successfully.

C:\>net use z: \\A61-01\c$
The command completed successfully.

C:\>del z:\Program Files\SIMS\SIMS .net\Connect.ini
The system cannot find the path specified.

C:\>copy c:\Connect.ini z:\Program Files\SIMS\SIMS .net\Connect.ini
The syntax of the command is incorrect.

C:\>net use z: /d
There are open files and/or incomplete directory searches pending on the connection to z:.
Is it OK to continue disconnecting and force them closed? (Y/N) [N]:

 Can anyone help please?
0
Comment
Question by:olchs
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 40

Accepted Solution

by:
Richard Quadling earned 2000 total points
ID: 20365050
copy /y c:\Connect.ini  "\\%~1\C$\Program Files\SIMS\SIMS .net\"
0
 
LVL 2

Expert Comment

by:pinkisthenewblue
ID: 20365070
Firstly, good practice to put all paths in quotations. I can see that you haven't - so it will treat copy /y c:\Connect.ini  \\%1\C$\Program Files\SIMS\SIMS .net\ as:

 copy  file c:\connect.ini to \\%1\c$\Program with parameters  Files\SIMS\SIMS, .net\ and /y
Same with the net use.

Secondly, If run from a batch file you need two percent signs.

copy /y "c:\Connect.ini"  "\\%%1\C$\Program Files\SIMS\SIMS .net\"

Hope that works for you.
0
 
LVL 40

Expert Comment

by:Richard Quadling
ID: 20365076
Spaces act as separators on the command line.

program this is parameter number 5

But

program "this is parameter number 1"


Double quotes are used to embed spaces in parameters.

The same applies to program names.

C:\Program <<< program
Files\SIMS\SIMS <<< parameter 1
.NET\ <<<< parameter 2

rather than "C:\Program Files\SIMS\SIMS .NET\"

The %1 is not quite OK either.

Follow this ...

@ECHO OFF
ECHO 1 = %1
ECHO 2 = %2

Save that as test.bat and run it ...

test C:\Program Files

and then

test "C:\Program Files"

See the difference?

See the problem?

No?

OK. The problem is that I just said you need to use quotes to add spaces.

So, "%1" wraps the first parameter in quotes.

BUT you already wrapped it in quotes to get the space in to start with, so you end up with ...

""C:\Program Files""

The ~ in %~1 removes the quotes, leaving you with ...

"C:\Program Files"

You normally use ~ to strip the quotes from any parameter coming into the script and apply your own as needed.

0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 40

Expert Comment

by:Richard Quadling
ID: 20365080
pinkisthenewblue,

You do ___NOT___ need 2 % for command line parameters.

You ONLY need 2 % when dealing with FOR variables.

e.g.

At the command line ...

FOR %A IN (a b c) DO ECHO %A

But in a bat file ...

FOR %%A IN (a b c) DO ECHO %%A


0
 
LVL 2

Expert Comment

by:pinkisthenewblue
ID: 20365104
Yeah I figured he was, I've never seen anyone use variables like that thats not in a for statement. But if not then take head olchs.
0
 
LVL 40

Expert Comment

by:Richard Quadling
ID: 20365167
If you think that is bad, try decoding this ...

Pretty obvious when you understand the syntax, but even so, a nightmare for a beginner.
@ECHO OFF
SET UnivDateTokens=1-3 
FOR /F "tokens=1 delims=.:/-, " %%O IN ('DATE /T') DO SET UnivDatePart1=%%O
IF "%UnivDatePart1:~0,1%" GTR "9" SET UnivDateTokens=2-4 
FOR /F "tokens=%UnivDateTokens% delims=.:/-, " %%P in ('DATE /T') DO ( 
	FOR /F "skip=1 tokens=2-4 delims=/-,()." %%S IN ('ECHO.^|DATE') DO ( 
		SET %%S=%%P
		SET %%T=%%Q
		SET %%U=%%R
		SET UnivDatePart1=
		SET UnivDateTokens=
		)
	)

Open in new window

0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If like me you are one who spends a lot of time working and scripting with cmd.exe, sometimes it is handy to be able to quickly view a calendar for a given month and year. This script will quickly do just that!  Save the code posted below to a .bat …
You may have already been in the need to update a whole folder stucture using a script. Robocopy does it well and even provides a list of non-updated files in a log (if asked to). Generally those files that were locked by a user or a process by the …
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Suggested Courses

770 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