我正在尝试从众多子文件夹中导出csv(和其他文件)。这些是丢弃在我们的数据库服务器上以加载的存档文件夹。无论如何,我发现有两行代码有效(或确实有效),但是当加载到bat文件中或由xp_cmdshell命令调用时不起作用。
这些命令旨在提取位于多个(数百个)子目录中的所有文件。当我手动将它们放在命令提示符中时,这些再次起作用,但在通过 bat(或 cmd 文件)或从 SQL 服务器调用xp_cmdshell时则不起作用。
for /f "tokens=*" %a in ('dir /b /s /a-d "C:SPSDataUTDB1_Stage1"') do @move "%a" "C:SPSDataUTDB1_Stage1"
MOVE C:SPSDataUTDB1_Stage1 * * C:SPSDataUTDB1_Stage1
在批处理文件中使用时,您需要通过以另一个%
为前缀来转义%
变量引入器 - 用 %%a
替换%a
:
for /f "tokens=*" %%a in ('dir /b /s /a-d "C:SPSDataUTDB1_Stage1"') do @move "%%a" "C:SPSDataUTDB1_Stage1"
我想通过xp_cmdshell
调用也需要同样的东西。