usp_Copy_Unzip_DirFiles -- 拷贝,解压,列出文件名 from FTP Folder to Work Folder
CREATE PROC usp_Copy_Unzip_DirFiles
@FTPPath NVARCHAR(4000)= '', -- ftp 文件夹路径
@WorkPath NVARCHAR(4000) = '', -- work 文件夹路径
@FileName NVARCHAR(4000) = '', -- 文件名
@sqlCmd NVARCHAR(4000) = '', -- 要执行的 cmd 命令
@RegRule nvarchar(4000) = 'Regex*.zip', -- 定义要拷贝的文件名的规则
@7zipPath NVARCHAR(4000) = 'IPCC$\"Program Files"\7-Zip\7z.exe', -- 原理即调用 7z 解压软件解压,所以 IPC 对应到相应的网络磁盘路径
@IsZipped BIT = 1 -- 输入参数,确认拷贝的 是不是 压缩文件,只有压缩文件,下面的脚本解压部分才需要执行
AS
SET @sqlCmd = 'dir /b '+@FTPPath+@RegRule
IF OBJECT_ID('tempdb..#dirlisttab') IS NOT NULL
DROP TABLE tempdb..#dirlisttab
CREATE TABLE tempdb..#dirlisttab
(
FILENAME Nvarchar(128)
) INSERT INTO #dirlisttab
EXEC xp_cmdshell @sqlCmd
--SELECT * FROM #dirlisttab DECLARE file_cur CURSOR LOCAL STATIC FORWARD_ONLY FOR
SELECT [FILENAME] FROM #dirlisttab
OPEN file_cur
WHILE 1=1
BEGIN
fetch next from file_cur into @FileName
SET @sqlCmd = 'copy '+@FTPPath+@FileName+' '+@WorkPath+@FileName
print @sqlcmd
EXEC xp_cmdshell @sqlcmd IF(@IsZipped = 1)
BEGIN
SET @sqlCmd = @7zipPath+' x '+@WorkPath+@FileName+' -y -aos -o'+@WorkPath
print @sqlcmd
EXEC xp_cmdshell @sqlcmd
END if @@fetch_status <> 0 break;
END
CLOSE file_cur
DEALLOCATE file_cur
SET @sqlCmd = ' dir /b '+@WorkPath+'*.txt > '+@WorkPath+'FileName|del '+@WorkPath+'*.zip /Q'
print @sqlcmd
EXEC xp_cmdshell @sqlcmd
DROP TABLE tempdb..#dirlisttab
GO
usp_Copy_Unzip_DirFiles -- 拷贝,解压,列出文件名 from FTP Folder to Work Folder的更多相关文章
- 如何解决Mac里面解压后文件名乱码问题
如果你把Mac当成你的主要工作机器,而你的同事用的都是Windows,有时候交换文档就是一件很痛苦的事,比如今天要说到的问题:当同事传给你一个zip文件,结果你拿过来解压后发现里面有些文件的文件名如果 ...
- 解决Linux与Windows压缩解压中文文件名乱码(转载)
转自:http://crazyfeng.com/linux-windows-compress-chinese-filename.html 由于Linux与Windows编码问题,使用Zip Tar 压 ...
- 解决ubuntu解压zip文件名乱码的问题
1. 安装7-zip 和 convmv : 命令: sudo apt-get install convmv p7zip-full 2. 解压zip文件: 命令:LANG=C 7z e yourZIPf ...
- linux unzip 解压后文件名乱码
在windows上zip的包,rz上传到linux下,发现出现乱码.记录下解决过程: 1.确定windows上的默认字符集 在Windows平台下,直接在命令行中,输入:chcp 在显示的结果中,会出 ...
- 在kali linux之下 下载并解压的文件名呈现乱码 解决方案
从Linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认 ...
- unzip解压中文文件名乱码
由于中文的Windows使用的是GBK编码,而Linux默认使用UTF-8编码的,如果在Windows打包带中文文件的zip包,则这个zip包在Linux下面使用默认的归档管理器打开这个zip包的时候 ...
- Ubuntu下解决解压zip文件中文文件名乱码问题
在Ubuntu下解压Windows下压缩的zip文件时,会出现解压出的带中文文件名的文件名乱码,这是因为Ubuntu和Windows默认的编码不同,Ubuntu下默认的编码是UTF-8,而Window ...
- Java中解压文件名有中文的rar包出现乱码问题的解决
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...
- os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩
1.os 与操作系统相关 对文件的处理 对路径的处理 import os#主要用于与操作系统进行交互 掌握: print(os.makedirs('a/b/c'))#创建目录 可用递归创建 print ...
随机推荐
- input type=“submit”屏蔽自带的提交事件
<p><input type="submit" class="submit" value="确认支付" onclick=& ...
- EcTouch二次开发
一.EcTouch简介 1.1. 什么是ECTOUCH ECTouch是上海商创网络科技有限公司推出的一款开源免费移动商城网店系统,可以在手机上面卖商品的电子商务软件系统.能够帮助企业和个人快速构建手 ...
- js奇葩错误
局部刷新中显示图片: 错误写法:var innerDiv = "<p class='town_con' id='city1'>"; var d ...
- HCTF2016-杂项签到
题目下载了一个+_+.pcapng ,用Wireshark打开, Ctrl-F搜索flag 发现python代码 将Data导出 #!/usr/bin/env python # coding:utf- ...
- 【Android 应用开发】Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
19af543b068bdb7f27787c2bc69aba7f Additional Download (32-, 64-bit) Package r10 STL debug info androi ...
- IOS 常用第三方库
名称 特性 效果图 FXBlurView 实时背景模糊效果 FDFullscreenPopGesture 让UINavigationController在屏幕任何位置均可滑动返回 NJKWebVi ...
- ural 1993 This cheeseburger you don't need
顺次存到{} [] () 遇到逗号就处理下,最后处理逗号之后的 #include <iostream> #include <cstring> #include <stri ...
- iOS开发——语法篇OC篇&静态方法与实例方法
静态方法与实例方法 方法是类的行为,写在接口和实现两个文件中.在接口部分声明方法,在实现部分实现方法. 1.类方法与实例方法 Objective-C中的类可以声明两种类型的方法:实例方法和类方法.实例 ...
- ActionScript 3 中的强制类型转换
以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写: Class2(c1); 在AS3中你依然可以这样写,但 ...
- QFtp类参考
QFtp是一个用来实现FTP协议的类. 详情请见…… #include <qftp.h> 继承了QNetworkProtocol. 所有成员函数的列表. 公有成员 QFtp () virt ...