Re: xp_cmdshell default path (system32) problem
- From: "Justin Rich" <jrich523@xxxxxxxxxxxxxx>
- Date: Tue, 2 Jun 2009 07:45:32 -0400
simple :)
change your command from "dir path" to "if exist file del file"
this will check to see if its there, and if so, delete it
got to love good ol' dos :)
"Thomas Malia" <tommalia@xxxxxxxxxxxxxxxx> wrote in message
news:eh9NDlv4JHA.1716@xxxxxxxxxxxxxxxxxxxxxxx
I'm trying to create some maintenance scripts that need to manage files in
some directories. I want to purge files that are older than a given
number of days. I'm use xp_cmdShell to execute "erase" command like
commands to delete the files. The problem I'm concerned about is related
to the fact that xp_cmdshell appears to use c:\WINNT\SYSTEM32 as it's
default path.
I haven't executed the actual erase statements yet but rather have been
running test where I just perform a DIR instead of a ERASE to confirm what
WILL get deleted when I do it for real. The problem is, if the directory
that I supply doesn't exist, then the command appears to opporate on the
"default path". So for example if I do:
EXEC xp_cmdshell 'DIR c:\MyDir'
and "myDir" doesn't actually exist, then the xp_cmdShell is return the
same result set as if I executed:
EXEC xp_cmdshell 'DIR c:\WINNT\SYSTEM32'
This is more than a little scary since if I have had actually run this
command with ERASE instead of DIR then presumably it would have deleted
all file from the C:\WINNT\SYSTEM32 directory.... BAD THING!
Now, I can be REALLY, REALLY careful when I write my scripts to make sure
I use an existing directory. However, this doesn't protect me later when
my script is running as a scheduled job and some unssuspecting sole
happens to delete, rename or change the security settings on my directory
and now the next time the job runs I crush SYSTEM32!
There's got to be a better way to handle this... isn't there!?!
PLEASE HELP!
.
- Follow-Ups:
- Re: xp_cmdshell default path (system32) problem
- From: Paul Wehland
- Re: xp_cmdshell default path (system32) problem
- From: Thomas Malia
- Re: xp_cmdshell default path (system32) problem
- References:
- xp_cmdshell default path (system32) problem
- From: Thomas Malia
- xp_cmdshell default path (system32) problem
- Prev by Date: Re: Alternative to Dynamic SQL?
- Next by Date: Re: Alternative to Dynamic SQL?
- Previous by thread: Re: xp_cmdshell default path (system32) problem
- Next by thread: Re: xp_cmdshell default path (system32) problem
- Index(es):
Relevant Pages
|
Loading