首页 > 解决方案 > PowerShell 循环

问题描述

PowerShell 中的新伙伴。我正在寻找创建 2 个文件的脚本,但在每 20 个第一个文件之后创建 1 个第二个文件。

示例:每创建 100 个第一个文件,应创建 5 个第二个文件。

怎么做?

提前致谢。

$every=20
$total=100
for($i=0; $i -lt $total; $i++){
if($i % $every -eq ($every - 1)){
%{1..100} |foreach {

Copy-Item -Path \\source-TEST.pdf -Destination \\destination\test_pdf\123456-7209-TEST$_.pdf  -Recurse -force}

}
%{1..20} |foreach {

Copy-Item -Path \\source-TEST.tiff -Destination \\destination\test_tiff\123456-7209-TEST$_.tiff  -Recurse -force}
}

标签: powershell

解决方案


在循环中使用%模运算符for每 20 次“循环”一次:

$every = 20
$total = 100

$count1 = 1
$count2 = 1

for($i = 0; $i -lt $total; $i++){
  if($i % $every -eq ($every - 1)){
    Copy-Item -Path \\source-TEST.tiff -Destination \\destination\test_tiff\123456-7209-TEST$count2.tiff -Recurse -Force
    $count2++
  }
  Copy-Item -Path \\source-TEST.pdf -Destination \\destination\test_pdf\123456-7209-TEST$count1.pdf -Recurse -Force
  $count1++
}

推荐阅读