declare  @path  varchar(200)  
select  @path  =  filename  from  master.dbo.sysfiles  
set  @path  =  ltrim(REVERSE(@path))  
set  @path  =  REVERSE(substring(@path,CHARINDEX('\',@path),len(@path)))  
print  @path

解决方案 »

  1.   

    备份你这样:
    declare  @path  varchar(200)  
    select  @path  =  filename  from  master.dbo.sysfiles  
    set  @path  =  ltrim(REVERSE(@path))  
    set  @path  =  REVERSE(substring(@path,CHARINDEX('\',@path),len(@path)))  
    set @path=@path+'文件名.bak'backup database 你的库 to disk=@path with init
      

  2.   

    Select * from sysfiles
      

  3.   

    如果象“企业管理器”那样,做到远程计算机上的文件浏览可能真的有点难。
    那么退而求其次:能否得到指定文件夹(如:MSSQL\BACKUP\)中的所有文件名称呢?
      

  4.   

    通过下面几个存储过程就行了.
    --显示磁盘信息,得到服务器上的磁盘分区列表
    exec master..xp_fixeddrives
    --得到服务器指定目录下的目录及文件更表
    exec master..xp_dirtree 'c:\',0,1 --参数:目录名,目录深度,是否显示文件--检查指定文件是否存在
    exec master..xp_fileexist 'c:\boot.ini'--显示文件详细信息
    exec master..xp_getfiledetails 'c:\boot.inia'
      

  5.   

    还是晚了,楼上的把我想说的都说了!!!!!
    我再增加二个:
    xp_subdirs 'c:\ 相当于xp_dirtree 'c:\',1
    如果需要执行命令可以使用类似  xp_cmdshell 'attrib -s -h -r  c:\boot.ini'的命令
      

  6.   

    谢谢邹建,你的办法可行。
    另外我发现利用存储过程xp_cmdshell调度dos命令可以干很多事情(包括本贴的问题)。例如:
    xp_cmdshell 'dir c:'   --显示文件与目录信息
    xp_cmdshell 'copy c:\a.bak \\remote\backup\' --拷贝文件再次谢谢大家!立刻结贴派分。