【问题标题】:Check Existing File using xp_cmdshell in SQL and return a value in cmdshell在 SQL 中使用 xp_cmdshell 检查现有文件并在 cmdshell 中返回一个值
【发布时间】:2018-04-27 10:36:43
【问题描述】:

我正在尝试使用 SP - MSSQL 创建一个文件。在创建文件之前,我想检查文件是否存在。如果存在我想替换一个新文件,或者创建一个新文件。想在sql中执行cmdshell时返回一个值。

               DECLARE @Text AS VARCHAR(100)
               DECLARE @Cmd AS VARCHAR(100)
               DECLARE @exstFile AS VARCHAR(100)

            set @cmd = 'IF EXIST Z:\AppTextFile.txt (ECHO 1) ELSE (ECHO 0)'
            EXEC @cmd = xp_cmdshell @cmd
            select @cmd datum

【问题讨论】:

  • 代替ECHO,尝试EXIT设置退出代码。
  • 你为什么不用xp_fileexist

标签: sql sql-server stored-procedures xp-cmdshell


【解决方案1】:

检查文件是否存在的另一种方法是使用xp_FileExist:

DECLARE @Exists INT;

EXEC master..xp_FileExist N'U:\SSIS\Test.txt', @Exists OUTPUT

select @Exists

【讨论】:

  • 我记得这个 SP 仅适用于 UNC 共享名称,不适用于网络驱动器。现在解决了吗?
  • 谢谢兄弟...非常感谢。它对我很有效。 @M.ali
猜你喜欢
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 2010-10-16
  • 1970-01-01
相关资源
最近更新 更多