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盘,程序在别的机子上就不行了呀
比如我要删除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了!
怎样禁止xp_cmdshell
c#调用xp_cmdshell的参数怎么写
Could not find stored procedure 'master..xp_cmdshell'
SQL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-------------------SQL----------------------
-------------------SQL---------------------
SQL SQL SQL SQL SQL SQL
SQL .... SQL......
SQL ---SQL --SQL ----
SQL与Transact-SQL