欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Delphi“判断服务器路径”与“清空日志文件”

来源:本站整理 作者:佚名 时间:2014-09-05 TAG: 我要投稿

近期在做“数据库切割工具”时,碰到了一些棘手的问题,经过多方打探、查找,最终得以解决,现总结下来,给大家共享,免的大家以后在碰到类似问题时再耗费大量时间去查找、去打探! 
1、判断输入的路径在服务器上是否存在:

例如,要在客户端执行一个创建数据库的程序,数据库要在服务器上创建,但路径可以手工输入,这时就面临一个判断自已现在输入的路径在服务器上是否存在的问题,免得在执行Create Database SQL时才报错:找不到路径。

具体方法如下:

exec master..xp_cmdshell 'dir E:\DATA' ,在查询分析器中执行此段SQL,如果存在此路径,会输出此路径下的所有文件与文件夹信息,还有此盘的可用字节数与已此文件夹的字节数(图1所示);如果此路径不存在,则输出信息如图2所示,提示“找不到文件”。

但是,当路径中含有空格时,如C:\Program Files,直接用exec master..xp_cmdshell 'dir C:\Program Files',系统返回结果会如跟图2显示一样,我们需要做额外处理,才能得到正确的返回结果:

(1)exec master..xp_cmdshell 'dir "C:\Program Files\Microsoft SQL Server\MSSQL"'

这种写法,在查询分析器中直接执行是没有问题的,也能返回正确结果,但如果放到程序中执行:

SQL.Add('exec master..xp_cmdshell ''dir "C:\Program Files\Microsoft SQL Server\MSSQL"''),Open时就会报错,不能执行。

为什么呢???

(2)我们接下来查看SQL联机帮助,对XP_CMDSHELL的描述如下:

xp_cmdshell {'command_string'} [, no_output]

[1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载