带有附加文本的文件目录重定向[关闭]
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
以上是关于带有附加文本的文件目录重定向[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Windows学习解决python无法访问win64系统drivers目录重定向文件问题