sql-server - 如何使用 TSQL 从目录中删除文件?
问题描述
DECLARE @cmd VARCHAR(100)
set @cmd= 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)
我已经尝试了上面的代码,但失败并出现错误必须声明标量变量@deletefile。
任何人都可以弄清楚这里出了什么问题?
解决方案
您需要像上面声明的 @cmd 一样声明变量 @deletefile
声明 @deletefile varchar(20)。如果文件名太长,可以使用 varchar(100)。
在 @deletefile 变量中设置要删除的文件名,然后运行查询。
SET @deletefile='你的文件名'。总的来说应该像下面
DECLARE @cmd VARCHAR(100)
DECLARE @deletefile VARCHAR(20)
set @deletefile='YourFileName'
set @cmd= 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)
推荐阅读
- python - 在 Keras 中使用双向 LSTM 填空句子
- python - 使用 for 循环中的值从 txt 创建字典列表
- reactjs - ReactJS 动态遍历对象并显示 4 列
- python - 如何忽略数据框中的空列?(熊猫)
- python - Python ModuleNotFoundError:没有名为“google.analytics”的模块
- python - VC2019 的开发者 shell 中的 pip install 产生“错误:需要 Microsoft Visual C++ 14.0 或更高版本。” 错误
- html5-canvas - Angular 10 - Chart.js 在运行时使用 convas id 在数组中绘制图表
- reactjs - “无法从...安装,因为它不包含 package.json 文件”通过 npx create-react-app app-name 在 Windows 10 中创建反应应用程序时
- python - 简单 CPU/GPU 上的最大并行进程数
- c# - 为什么记录器是静态的?