-------------------------------------------------------------------------------------------------------------ALTER           procedure usp_testascreate table #
(output varchar(100) COLLATE Chinese_PRC_CI_AS NULL
)insert # EXEC MASTER..xp_cmdshell ' dir e:\logs\*.LOG' --select * from # select right(Output,charindex(' ',reverse(Output))-1) from # where len(right(Output,charindex(' ',reverse(Output))-1))=12
drop table #--------------------------------------------------------------------------------------------------------------
以上的代码的意思是:得到192.168.1.1下e:\logs下的所有的后缀名为.log的文件名称,这是在192.168.1.1上执行的存储过程,准确无误现在,要在客户机上执行这个存储过程,得到服务器e:\logs下面的所有后缀名为.log的文件名称,应该怎样改写路径呢?服务器IP:192.168.1.1
客户机IP:192.168.1.2

解决方案 »

  1.   

    你要服务器上的e:\logs下的文件名?还是客户机的?
      

  2.   

    ...'dir \\IP\..\logs\*.LOG' ..
      

  3.   

    得到服务器的e:\logs下的文件名
      

  4.   

    --try
    master..xp_cmdshell ' dir \\192.168.1.1\logs\*.LOG' 
      

  5.   

    --加上IP
    ' dir \\192.168.1.1\logs\*.LOG' 
      

  6.   


    exec master..xp_cmdshell 'net use \\192.168.1.1\ipc$ password /user:administrator'
    exec master..xp_cmdshell 'dir /b \\192.168.1.1\e$\log\*.log'
      

  7.   


    windows2000或者2003的机器吧,xp不行。