SQL xp_cmdshell
程序员文章站
2022-06-04 08:30:09
...
xp_cmdshell 创建文件夹,复制文件,导出数据到TXT,读取TXT,调用RAR--压缩文件夹 无 GO---打开xp_cmdshellEXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGUREGO---创建文件夹declare @shellCommand
xp_cmdshell 创建文件夹,复制文件,导出数据到TXT,读取TXT,调用RAR--压缩文件夹GO ---打开xp_cmdshell EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE GO ---创建文件夹 declare @shellCommand nvarchar(1024) Set @shellCommand='"mkdir C:\sqlcreatefold"' exec xp_cmdshell @shellCommand GO --复制文件--准备一个空的文本文件在C盘 declare @shellCommand nvarchar(1024) Set @shellCommand='Copy "C:\1.txt'+'" "C:\sqlcreatefold\1.txt'+'"' exec xp_cmdshell @shellCommand GO --导出数据到TXT Create table ##temp(line varchar(100)) Insert into ##temp(line)values('asdfghjklasdfghjkl') Insert into ##temp(line)values('一二三四五六七') declare @shellCommand nvarchar(1024) Set @shellCommand='bcp "Select line From ##temp" queryout C:\sqlcreatefold\1.txt'+' -S"." -U"sa" -P"123456" -c -T' exec xp_cmdshell @shellCommand drop table ##temp GO --读取TXT文件 Create table ##temp(line varchar(100)) exec(N'bulk insert ##temp from N''C:\sqlcreatefold\1.txt''') select * From ##temp drop table ##temp GO --调用RAR--压缩文件夹 declare @shellCommand nvarchar(1024) declare @WinRar varchar(128) set @WinRar='C:\Program Files\WinRAR\WinRAR.exe' Set @shellCommand='""'+@WinRar+'" a -ep1 -afzip -df -ibck C:\sqlcreatefold\Package.zip C:\sqlcreatefold"' exec xp_cmdshell @shellCommand set @shellCommand='" dir C:\sqlcreatefold"' exec xp_cmdshell @shellCommand