如何在 Windows 批处理文件中附加到下一行

如何在 Windows 批处理文件中附加到下一行

我正在使用 Windows 批处理文件,它将 .js 文件输出到 csv 中。

.js 文件是一个 mongo 查询。

mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers1.js > C:\ActiveUsers.csv 
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers2.js >> C:\ActiveUsers.csv
mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers3.js >> C:\ActiveUsers.csv

每个 .js 文件的示例结果

ActiveUsers1.js = 10
ActiveUsers2.js = 15
ActiveUsers3.js = 20

我希望我的 ActiveUsers.csv 文件中包含的内容应该是:

10
15
20

我得到的是:

101520

我刚刚升级到 mongosh,使用旧的 mongo shell(mongo)时没有遇到这个问题。

有什么方法可以通过 .bat 文件来控制它吗?

答案1

在每个 mongosh 后添加echo.以在每行后附加回车符。

    mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers1.js > C:\ActiveUsers.csv 
    echo.  >> C:\ActiveUsers.csv  
    mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers2.js >> C:\ActiveUsers.csv
    echo.  >> C:\ActiveUsers.csv
    mongosh --host 10.1.0.1:27017 --username "username" --password "password" --authenticationDatabase admin --quiet C:\ActiveUsers3.js >> C:\ActiveUsers.csv
    echo.  >> C:\ActiveUsers.csv 

相关内容