SQL xp_cmdshell 中的多个带空格文件名处理

来源:百度知道 编辑:UC知道 时间:2024/09/23 00:29:45
如题
比如我要删除tomcat服务器下面的一个文件
语句:
exec master..xp_cmdshell 'del C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\netoffice\upload\34.txt'

但是包含多个空格无法执行啊

或者这样删

exec master..xp_cmdshell 'del http:\\127.0.0.1:8080\netoffice\upload\34.txt';

但是路径还是不对

请教下啊
谢谢 1楼的,删是能删,不过这样好麻烦啊, 我要删的文件名是变量 额
而且bat文件读不到,得放到要删的那个目录,如果把bat放在C盘,程序在别的机子上就不行了呀

可能是因为不支持长文件名的缘故,就跟原来的DOS一样,就算现在你进DOS看你windows下的长文件名也会是如“C:\PROGRA~1”的格式

楼主可以试试这个方法:
在C盘根目录下新建一个1.bat
里面写入:
cd C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\netoffice\upload
del 34.txt
exit
(一定要分三行写,先cd,再del,再exit)

然后SQL里写:
exec master..xp_cmdshell 'C:\1.bat'
再执行就OK了!