【mm】求教大虾,mssql2005中如何检测文件是否存在????

浮生若梦丶 2011-09-28 10:59:39
2000里面有这个xp_fileexist可以检测,但貌似2005中木有了?
请问2005中怎么检测指定路径的文件是否存在呢?



declare @num int --申明一个接受返回值的变量 YX_UpFile/Small/b0001072300.jpg
EXEC master..xp_fileexist 'I:\www.jingying.me_vss\YX_UpFile\Small\b0000920333.jpg',@num output -- 执行文件存在否的验证 存在返回1 不存在返回0
if(@num = 1) --如果存在就给出提示或做其他功能的实现
begin
print '文件已经存在'
end
else --该文件不存在执行备份操作
begin
print '文件不存在'
end

...全文
691 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
浮生若梦丶 2011-10-21
  • 打赏
  • 举报
回复
谢谢大家的回复哦,我在研究下
chaofengwang09 2011-10-07
  • 打赏
  • 举报
回复
学习 不过还是不太懂
ijwsoft 2011-10-04
  • 打赏
  • 举报
回复
打一次酱油
大力水手 2011-10-04
  • 打赏
  • 举报
回复

DECLARE @result AS INT
EXEC sys.xp_fileexist 'D:\dbbackup\db.bak',@result OUTPUT
IF @result=1
EXEC xp_cmdshell 'xcopy /y D:\dbbackup\db.bak E:\dbbackup\'
ELSE
PRINT '@result=0, This file does not exist'

--sql 2008也可以用这个过程
qgqch2008 2011-10-03
  • 打赏
  • 举报
回复
学习了,呵呵
Joson.e8love 2011-10-03
  • 打赏
  • 举报
回复
木有 用过 标记下
晓哲 2011-09-29
  • 打赏
  • 举报
回复
同#42楼 所说。
冰岛男孩 2011-09-28
  • 打赏
  • 举报
回复
測過都是可以,沒出現樓主說的情況

中国风 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 fly_to_the_winds 的回复:]

我突然懂了,这个语句是正确的,2005下xp_fileexist也存在,就是检测不出图片文件来
换成其他格式的文件可以检测出来,但是图片文件貌似不可以。。。怎么解决啊??
[/Quote]


測過都是可以,沒出現樓主說的情況


-晴天 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 fly_to_the_winds 的回复:]
引用 25 楼 roy_88 的回复:

引用 21 楼 fly_to_the_winds 的回复:

引用 16 楼 roy_88 的回复:

SELECT * FROM master.dbo.sysobjects WHERE name='xp_fileexist'--查看是否存在

查询出来是存在的,但为什么调用不到呢?

有什麼提示信息?

看看是否有登陸賬號權限問題……

我突然懂了,这个语句是正确的,2005下xp_fileexist也存在,就是检测不出图片文件来
换成其他格式的文件可以检测出来,但是图片文件貌似不可以。。。怎么解决啊??
[/Quote]

你明白啥了?

exec master..xp_fileexist 'J:\化工制图\练习064\培训图片汇总\画线+移动.jpg'
/*
文件 文件 父目录
1 0 1
*/
exec master..xp_fileexist 'D:\实验中心网站\openexp\image\left_top_r1_c2.gif'
/*
文件 文件 父目录
1 0 1
*/

--小F-- 2011-09-28
  • 打赏
  • 举报
回复
exec xp_fileexist 'D:\Program Files\WinRAR\未命名.jpg'
/*文件? 文件? 父目录
---- ---- ----
1 0 1

(1 行受影响)*/
浮生若梦丶 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 qianjin036a 的回复:]

引用 24 楼 fly_to_the_winds 的回复:
引用 19 楼 qianjin036a 的回复:


exec master..xp_fileexist 'd:\db1.mdb'
测试,在05里和08里都能运行.


我说你不要查根目录下的文件,查下一级也就是用文件夹装起的文件,比如 d:\新建文件夹\123.jpg 这种,你试试?

SQL code

ex……
[/Quote]
查哈图片文件,我的图片查询不出来
浮生若梦丶 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 qianjin036a 的回复:]

引用 24 楼 fly_to_the_winds 的回复:
引用 19 楼 qianjin036a 的回复:


exec master..xp_fileexist 'd:\db1.mdb'
测试,在05里和08里都能运行.


我说你不要查根目录下的文件,查下一级也就是用文件夹装起的文件,比如 d:\新建文件夹\123.jpg 这种,你试试?

SQL code

ex……
[/Quote]
-晴天 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 fly_to_the_winds 的回复:]
引用 19 楼 qianjin036a 的回复:


exec master..xp_fileexist 'd:\db1.mdb'
测试,在05里和08里都能运行.


我说你不要查根目录下的文件,查下一级也就是用文件夹装起的文件,比如 d:\新建文件夹\123.jpg 这种,你试试?
[/Quote]

exec master..xp_fileexist 'D:\Media\长歌一曲.mp3'
/*
文件 文件 父目录
1 0 1
*/
exec master..xp_fileexist 'D:\mywork\vb\sample3-4.exe'
/*
文件 文件 父目录
1 0 1
*/
exec master..xp_fileexist 'J:\Program Files\StarCraft II\sc2manager8.3.6\SC2Manager.exe'
/*
文件 文件 父目录
1 0 1
*/

noteasytoregister 2011-09-28
  • 打赏
  • 举报
回复
图片也可以的。
noteasytoregister 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mengmou 的回复:]

2005明明有,肯定你代码有问题
[/Quote]
++
浮生若梦丶 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 roy_88 的回复:]

引用 21 楼 fly_to_the_winds 的回复:

引用 16 楼 roy_88 的回复:

SELECT * FROM master.dbo.sysobjects WHERE name='xp_fileexist'--查看是否存在

查询出来是存在的,但为什么调用不到呢?

有什麼提示信息?

看看是否有登陸賬號權限問題
[/Quote]

declare @num int --申明一个接受返回值的变量 YX_UpFile/Small/b0001072300.jpg
EXEC master..xp_fileexist 'D:\Program Files\360\360Safe\200942152862.GIF',@num output -- 执行文件存在否的验证 存在返回1 不存在返回0
if(@num = 1) --如果存在就给出提示或做其他功能的实现
begin
print '文件已经存在'
end
else --该文件不存在执行备份操作
begin
print '文件不存在'
end

我突然懂了,这个语句是正确的,2005下xp_fileexist也存在,就是检测不出图片文件来
换成其他格式的文件可以检测出来,但是图片文件貌似不可以。。。怎么解决啊??
浮生若梦丶 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 fredrickhu 的回复:]

SQL code
exec xp_fileexist 'D:\Program Files\WinRAR\Default.SFX'
/*文件? 文件? 父目录
---- ---- ----
1 0 1

(1 行受影响)*/
[/Quote]

换成图片文件试试,图片文件的“文件”是0
浮生若梦丶 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 fredrickhu 的回复:]

引用 18 楼 fly_to_the_winds 的回复:
引用 8 楼 fredrickhu 的回复:

SQL code
--是否允许运行系统存储过程xp_cmdshell
sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go
e……
[/Quote]
有i盘的呢,2个硬盘,换成d盘的可以,但是i盘的就是不行“系统找不到指定的路径。”
还有就是这个语句查询出来了不看结果怎么判断文件是否存在?

--小F-- 2011-09-28
  • 打赏
  • 举报
回复
exec xp_fileexist 'D:\Program Files\WinRAR\Default.SFX'
/*文件? 文件? 父目录
---- ---- ----
1 0 1

(1 行受影响)*/
加载更多回复(29)

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧