带有附加文本的文件目录重定向[关闭]

Posted

技术标签:

【中文标题】带有附加文本的文件目录重定向[关闭]【英文标题】:File Directory Redirection with appended text [closed] 【发布时间】:2022-01-14 09:34:28 【问题描述】:

我有一个 SQL 备份文件目录,我需要生成一个文件,我可以使用该文件将这些文件恢复到 SQL 数据库。我不能只创建一个批处理文件并使用基本的 Dir /b pathToFiles > fileList.txt CMD。我需要在文件名之前和之后附加文本。请看下面的例子

文件目录列表

文件-20211207-90121.bak 文件-20211207-100456.trn 文件-20211207-101457.trn 文件-20211207-102457.trn

重定向到此格式的文件

从磁盘恢复数据库 [dbName] = 'C:\filePath\File-20211207-90121.bak' 使用 NORECOVERY,替换 RESTORE LOG [dbName] FROM DISK = 'C:\filePath\File-20211207-100456.trn' WITH NORECOVERY 从磁盘恢复日志 [dbName] = 'C:\filePath\File-20211207-101457.trn' WITH NORECOVERY 从磁盘恢复日志 [dbName] = 'C:\filePath\File-20211207-102457.trn' WITH NORECOVERY RESTORE DATABASE [dbName] WITH RECOVERY

虽然我上面的示例包含 bak 文件,但我会很高兴只为 trn(事务文件)生成一个列表的解决方案。

任何帮助将不胜感激。

乔伊

【问题讨论】:

请不要为问题添加解决方案,而是将其作为答案发布! 【参考方案1】:

这只是一个示例,可以按您的需要使用。

@echo off

for /f "usebackq" %%a in (`dir /b *.trn`) do (

    echo what you like write before ^"%%~dpfa^" and after
)

【讨论】:

感谢您抽出宝贵时间回答解决方案。我已根据您的解决方案更新了我上面的帖子。 USEBACKQ 不需要也不需要转义引号。如果文件名有空格,代码将失败。 我添加到原始帖子中的工作解决方案提供了正确的输出(见上文) @Squashman:我没有在问题示例中看到空格。现在我看起来好多了。 @dmaxime 与您看到的输入示例无关。您应该始终编程以接受任何输入。这是最佳实践:for /f "delims=" %%a in ('dir /a-d /b *.trn') do echo what you like write before "%%~dpfa" and after

以上是关于带有附加文本的文件目录重定向[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

LINUX 标准错误输出重定向

Windows学习解决python无法访问win64系统drivers目录重定向文件问题

用户管理!权限管理!重定向

重定向目录的内容,但不重定向目录本身以及它的一些子目录和文件

将 Firebase 托管根目录重定向到云功能不起作用

创建不死目录不死文件