我对Powershell完全陌生,我知道很多人使用它来自动化任务,就像bash和c-shell编程是在*NIX中完成的那样。我已经成功地重新编译了一些用FORTRAN编写的古代分析软件,该软件接受单独的输入文件。现在,我需要以某种方式运行不到1000种情况,只需稍微改变输入文件。分析软件编写中间文件,因此对于并发运行,每次运行都必须在不同的目录中。每个案例可能需要40分钟才能解决,因此单独运行这些操作将花费大量的时间,并且容易出错。
现在,对于这个问题,Powershell能自动完成这个任务吗?是否有一些类似的脚本可以被我修改来完成呢?
自动化需要执行以下操作(如我所见):
我尝试过用矢量化和自动并行化重新编译软件,并且在测试的情况下,收敛时间只减少了一小部分,因此可以安全地假设这是有效的单线程。
发布于 2013-11-16 05:31:49
Powershell为Unix用户提供了许多熟悉的别名。ls、cat、cp等被实现为本机Powershell命令的别名。这些命令不区分大小写。更有甚者,你甚至可以用化名搜索帮助。那是,
man ls <=> get-help get-childitem
apropos <=> get-help <keyword>
get-help loop
about_Break
about_Continue
about_do
about_For
about_Foreach
about_Language_Keywords
...这将有助于转换现有脚本。至于剩下的部分,我会给出一些提示,因为描述有点模糊。
Get-Content用于将文件内容读入变量:$myVar = cat c:\some\file.txt。
目录创建只是md。
捕获exe输出是通过分配给变量:$exeOutput = c:\myApp.exe完成的。
向文件添加内容是Add-Content。
背景工作是从Start-Job开始的。
https://stackoverflow.com/questions/20011675
复制相似问题