Powershell实现文件的复制

今日有朋友来问我,他要写日报,然后内容差不多,所以可以用同一份文件直接复制,就是需要根据时间命名文件,我本身是做Java的,其实用Java很容易实现,但是他毕竟是非程序员,本地是没有Java环境的,然后用PowerShell进行实现也很简单。

copy-file.ps1

$file = "信息.json"
$startime = "2023-02-17"

# 时间格式化模板
$formate = "yyyy-MM-dd"

# 将字符串转成时间
$currenttime = [datetime]::parseexact($startime, $formate, $null)

# 分割文件名 获取 文件名称 和 文件后缀名
$filename = ((Split-Path $file -Leaf).Split('.'))[0]
$extension = ((Split-Path $file -Leaf).Split('.'))[1]
#$filedate = Get-Date -Format $formate

# 循环
for($x=1; $x -lt 101; $x=$x+1)   
{   
  # 每次往上加x天
  $addday = $currenttime.AddDays($x)
  
  # 判断加完之后的日子是否是周六周日
  $week = $addday.DayOfWeek
  if($week -eq "Saturday" -or $week -eq "Sunday") {
	echo $addday "is staurday or sunday"
  }else{
  
    # 如果是工作日则进行复制
	$filedate = get-date -date $addday -format $formate
	Copy-Item -Path $file $filename'_'$filedate.$extension
  }
}

$file 指定要复制的文件,$startime表示开始时间,之后调整循环次数,就可以进行复制。

注意:直接运行该文件,操作中文命名的文件会乱码,导致无法运行成功,需要保存为带BOM的UTF-8格式的文件才行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值