我不熟悉Powershell(除了它的存在和运行Powershell命令的方式)。我有一个文件夹源。在该文件夹中,我有几个文件:
image_001.jpg
image_002.jpg
...
...
image_250.jpg
...
...
...
image_8000.jpg
从中我想选择特定的图像,比如从image_00001.jpg - image_00250.jpg并将它们复制到目标文件夹,比如目标
谁能告诉我Powershell的命令来做到这一点?
对于这样一个菜鸟问题,我深表歉意。我对Powershell一无所知,尽管我的直觉告诉我这可能是最容易实现的任务。
注意:我试图理解关于执行类似任务的另一个答案,但由于缺乏正则表达式知识,我无法理解它。
您可以执行以下操作:
cls
$source = "<your source>"
$destination = "<your destination>"
foreach ($i in Get-ChildItem -Path $source -Recurse)
{
if ($i.Name -match "image_(000dd|001dd|002[0-4]d|00250).jpg")
{
Copy-Item -Path $i.FullName -Destination $i.FullName.Replace($source,$destination).Trim($i.Name)
}
}
正则表达式的解释:
000dd|001dd|002[0-4]d|00250
与00000-00250
中的数字匹配
-
000dd
与模式000(any digit)(any digit)
匹配,即直到00099
-
001dd
匹配001(any digit)(any digit)
即来自00100 to 00199
-
002[0-4]d
匹配002(any digit from 0 to 4)(any digit)
即从 00200 到 00249' -
00250
匹配文字00250
-
|
或运算符.. 以匹配上述任何指定模式