Windows

如何附加到 Windows 批處理文件的下一行

  • September 8, 2022

我正在使用一個 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 文件上控制它?

在每個 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 

引用自:https://serverfault.com/questions/1110254