Re: xp_cmdshell default path (system32) problem
- From: "Michael Coles" <admin.AT.geocodenet.DOT.com>
- Date: Mon, 1 Jun 2009 21:53:37 -0400
What version of SQL Server?
--
========
Michael Coles
"Pro T-SQL 2008 Programmer's Guide"
http://www.amazon.com/T-SQL-2008-Programmer-rsquo-Guide/dp/143021001X
"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!
.
- 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: Search - is it possible with Regular Expression?
- Previous by thread: Re: xp_cmdshell default path (system32) problem
- Next by thread: Re: xp_cmdshell default path (system32) problem
- Index(es):
Relevant Pages
|