Board logo

标题: [问题求助] 【已解决】PowerShell在表格中列出全年每日日期,跳过周六周日。 [打印本页]

作者: for_flr    时间: 2022-3-2 15:50     标题: 【已解决】PowerShell在表格中列出全年每日日期,跳过周六周日。

本帖最后由 for_flr 于 2022-3-4 17:42 编辑

工作需要打印表格请领导补签字。
时间是从去年7月1日到今天(跳过每个周六周日)表格内容每行开头是日期,其次是人名,最后是签字和备注,想用powershell自动生成日期那一列,求指导。
  1. 日期          人员    领导签字    备注
  2. 2021.7.1  苏苏
  3. 2021.7.2  苏苏
  4. 2021.7.5  苏苏
  5. 2021.7.6  苏苏
  6. ...
  7. 2022.3.2  苏苏
复制代码
如上,去年的7.3和7.4分别是星期六和星期天,则略过。
【不需要生成表格,日期列打印到txt中即可】
作者: idwma    时间: 2022-3-2 16:30

  1. sc test.txt $(
  2. $a=[datetime]'2021.07.01'
  3. $b=get-date
  4. '日期          人员    领导签字    备注'
  5. while($a.AddDays($i++) -lt $b){
  6. $c=$a.AddDays($i-1)
  7. if($c.DayOfWeek -notmatch 'Saturday|Sunday'){"{0:yyyy.MM.dd} {1}" -f $c,'苏苏'}
  8. }
  9. )
复制代码

作者: for_flr    时间: 2022-3-2 16:38

本帖最后由 for_flr 于 2022-3-4 17:41 编辑

.adddays()和.dayofweek(),学习了,谢谢idwma

另外补充一个
列出指定月份的所有日期(如2022年3月)
  1. 1..[DateTime]::DaysInMonth(2022,3)|%{get-date -f d -day $_ }
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2