• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 834
  • Last Modified:

Network Map and batch files

what is wrong with the script?
--------------------------------------------------------------
net use u: \\Server\folder /USER:blah blah
fc c:\qc\qc.bat u:\updatecmd\qc.bat
if %errorlevel% EQU 0 goto :EOF
fc c:\qc\qc.bat u:\updatecmd\qc.bat
if not %errorlevel% EQU 0 goto :UPDATE
goto :EOF

:UPDATE
copy /Y u:\updatecmd\qc.bat c:\qc\qc.bat

:EOF
-------------------------------------------------------------

When I use this script into a session, everything work but when I put it into a at command or with the task scheduler(I tried with systen and other account from task scheduller) and it doest work at all

Now I'm asking myselft....is it the script or it just the facq that there is no map possible into a batch fille run with at?

Btw fc is in the systemroot/system32 folder
0
fatp
Asked:
fatp
  • 2
  • 2
1 Solution
 
dlwyatt82Commented:
I am having trouble remembering for certain, but I believe you can't map drive letters from a script running in a scheduled task. Instead, just use the UNC path throughout your script:

---------------------------------------------------------------

net use \\Server\folder /USER:blah blah
fc c:\qc\qc.bat \\Server\folder\updatecmd\qc.bat
if %errorlevel% EQU 0 goto :EOF
fc c:\qc\qc.bat \\Server\folder\updatecmd\qc.bat
if not %errorlevel% EQU 0 goto :UPDATE
goto :EOF

:UPDATE
copy /Y \\Server\folder\updatecmd\qc.bat c:\qc\qc.bat

:EOF

---------------------------------------------------------------
0
 
fatpAuthor Commented:
Is there a way to give a username and password with the UNC path trought a script? If so...please tell me!
0
 
dlwyatt82Commented:
It's already included in my previous reply :) The "net use" statement is almost exactly the same, just leave out the drive letter.
0
 
oBdACommented:
There are several small issues with this script. You're not specifying the domain to go with the user name, so the target server is looking for a local account of that name, which it won't find (assuming that the account you're using is a domain account).
The proper syntax for the "net use" command in your case would be
net use X: \\server\share password /user:domain\user

In addition:
* There's no need to run the fc command twice
* "goto"s don't need the colon to jump to a self-defined label
* The ":eof" label is predefined in W2k
* The common errorlevel check is "if errorlevel x ..."
* You're not releasing the mapped drive at the end of the script

Your script should work if changed as follows:

--------------------------------------------------------------
@echo off
net use U: \\Server\folder blah /USER:BlahDomain\blah /persistent:no
fc C:\qc\qc.bat U:\updatecmd\qc.bat
if not %errorlevel% 1 goto leave

copy /Y U:\updatecmd\qc.bat C:\qc\qc.bat

:leave
net use U: /delete
--------------------------------------------------------------
0
 
fatpAuthor Commented:
OK i'm gonna check for both anser next week....thanks a lot!!
the only problem is that I'm on vacation for the week =)
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now