如何将批处理命令输出放在 csv 文件的所需列中

Posted

技术标签:

【中文标题】如何将批处理命令输出放在 csv 文件的所需列中【英文标题】:How to put batch command output in desired column of csv file 【发布时间】:2021-08-02 16:38:02 【问题描述】:

我是批处理编程的新手,我花了 8 个小时试图弄清楚如何解决我的问题。这就是我在这里的原因,我确定我已经昏倒了……

我有一个命令

@ECHO OFF
echo Demarre le %date:~0,8% a %time:~0,5% >> C:\TEMP\pointage.csv

pointage.csv中放入PC启动的日期(我们称之为A

我有另一个命令

@Echo Off&SetLocal
For /F "UseBackQ Tokens=1-4" %%A In (
    `Powershell "$OS=GWmi Win32_OperatingSystem;$UP=(Get-Date)-"^
    "($OS.ConvertToDateTime($OS.LastBootUpTime));$DO='d='+$UP.Days+"^
    "' h='+$UP.Hours+' n='+$UP.Minutes;Echo $DO"`) Do (
    Set "%%A"&Set "%%B"&Set "%%C")
Echo Temps de fonctionnement: %d% jour, %h% heures, %n% minutes >> C:\TEMP\pointage.csv
Echo Eteint le %date:~0,8% a %time:~0,5% >> C:\TEMP\pointage.csv

pointage.csv中放入PC关机的日期(调用B)+启动和关机之间经过的时间(调用C强>)

问题是:

ABC位于A1中A、A2中B, A3 for C 在我的 pointage.csv

我想说:

每个 A 在 A 列上产生结果,

每个 B 列 B 上的结果,

每个 C 结果都在 C 列上。

在我的 pointage.csv

如何做到这一点?我尝试了很多东西,例如创建 3 个 files.txt 并将它们放在 A、B 和 C 中,然后尝试用于 /F 函数。但我没有找到任何有点作用的东西。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

好的,我找到了问题,很简单……

echo "hello";"stack";"overflow" >> pointage.csv

工作

这是我的所有代码:

@echo off
setlocal
for /f %%a in ('wmic os get lastbootuptime ^| find "."') do (
  set _datetime=%%a
  )
set _boottime=%_datetime:~6,2%-%_datetime:~4,2%-%_datetime:~0,4%%_datetime:~8,2%:%_datetime:~10,2%

For /F "UseBackQ Tokens=1-4" %%A In (
    `Powershell "$OS=GWmi Win32_OperatingSystem;$UP=(Get-Date)-"^
    "($OS.ConvertToDateTime($OS.LastBootUpTime));$DO='d='+$UP.Days+"^
    "' h='+$UP.Hours+' n='+$UP.Minutes;Echo $DO"`) Do (
        Set "%%A"&Set "%%B"&Set "%%C"
)

Echo "%_boottime%";"%date:~0,8% %time:~0,5%";"%d% days, %h% hours, %n% minutes" >> C:\TEMP\pointage.csv
    
endlocal

【讨论】:

以上是关于如何将批处理命令输出放在 csv 文件的所需列中的主要内容,如果未能解决你的问题,请参考以下文章

Python:将系列添加到数据框架中,并没有将数据放在正确的列中。

python 使用所需列输出来自两个实验的数据,按其内容过滤区域。

熊猫将数据框列写入 csv

如何将 Unix 'Top' 命令输出捕获到 CSV 文件?

如何在 r 的范围内返回 .csv 列中的值的数量

删除列或使用所需列重新创建表:哪个更好?