找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: xslxslxsl

[文本处理] 批处理如何统计在同一个工作组联系工作时间?

[复制链接]
 楼主| 发表于 2022-4-25 23:56:56 | 显示全部楼层
回复 15# went


    真的非常感谢,就是计算时间的时候,不是我想的结果,举例子,张三在工作组A连续工作的时间,我是那张三切换到工作组B的时间减去工作组A的的第一个时间,当作在工作组A连续工作时间。
非常感谢你了,姓名一样,工作发生变化了就和上个工作组的第一个时间去减,麻烦再指点一下,谢谢!知道已经挺麻烦你了,但是我总想学着弄明白,谢谢!
发表于 2022-4-26 00:20:59 | 显示全部楼层
回复 16# xslxslxsl


    试试
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 输入输出文件
  4. set "in_txt=info.txt"
  5. set "out_txt=out.txt"
  6. (
  7.         for /f "usebackq skip=1 tokens=1-3 delims=," %%i in ("%in_txt%") do (
  8.                 if "!last1!"=="" (
  9.                         set "last1=%%i" & set "last2=%%j" & set "last3=%%k"
  10.                 ) else (
  11.                         if not "!last1!"=="%%i" (
  12.                                 set "last1=%%i" & set "last2=%%j" & set "last3=%%k"
  13.                         ) else (
  14.                                 if not "!last3!"=="%%k" (
  15.                                         for /f "delims=" %%a in ('powershell -c "$t=([datetime]'%%j' - [datetime]'!last2!');'{0:00}时{1:00}分{2:00}秒' -f ($t.Hours+$t.Days*24^),$t.Minutes,$t.Seconds"') do echo %%i,%%a,!last3!
  16.                                         set "last1=%%i" & set "last2=%%j" & set "last3=%%k"
  17.                                 )
  18.                         )
  19.                 )
  20.         )
  21. )>"%out_txt%"
  22. pause&exit
复制代码
 楼主| 发表于 2022-4-26 07:49:32 | 显示全部楼层
回复 17# went


非常感谢,收下好好学习,再次感谢,太麻烦你了,感谢大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 04:34 , Processed in 0.016260 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表