【发布时间】:2020-11-03 11:16:54
【问题描述】:
我是 powerscript 的新手,今天第一次尝试。熟悉 bash 脚本,但这是不同的。 我有一个大约 450 个文件的文件夹。我需要获取其中大约 30 个的名称,希望将其推送到一个文本文件中。
这是我目前所拥有的。我能够得到一个包含所有文件的文本文件,但不是一个只包含我输入的数字的文本文件。我还注意到 lineNumbers.txt 直到最后都没有创建,所以我收到一个错误说它可以没找到。
请随时推荐您所做的修复参考,以便我学习。
$input = Read-Host -Prompt 'which file numbers do you need? Separate by commas'
$input -split "(,)"
echo $input
Read-Host
cd ./
dir -n > $file
(gc $file | select -Skip 1) | sc $file > lineNumbers.txt
echo 'line numbers'
Read-Host
Foreach ($i in $input)
{
echo $i
(Get-Content -Path .\lineNumbers.txt -TotalCount $i)[-1] >> resultlines.txt
}
提前致谢!
【问题讨论】:
-
你想要获取的这 30 个文件名是否有一个共同的模式,如果是这样,那么我将通过 python 使用
regex -
但在回答之前我想知道这 30 个文件的名称是什么。如果你能分享这 30 个文件中存在的相似性就更好了
-
不要将变量分配为
$input。$input是 Powershell 中的自动变量 (msdn.microsoft.com/en-us/powershell/reference/5.1/…) -
@mishx 文件都是图片名。 3 个不同的前缀(DSC、R000、L 000),每个前缀后面跟着 4 个不同的数字,每个末尾都有 final review 字样。也都是jpg。想在任何一组随机文件上进行这项工作。基本上,当按名称排序时,我会让一个外行通过并选择数字 4、7、8,然后我只需要输入 4、7、8,它就会向我显示这些文件的名称文本文件。使用 dir 时,返回的文件按此顺序返回。 .
-
@itchydon 谢谢你的信息,第一个脚本,所以我很感激任何更正
标签: powershell shell automation scripting