首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于编写大型分析脚本的Powershell运行。

用于编写大型分析脚本的Powershell运行。
EN

Stack Overflow用户
提问于 2013-11-15 22:23:26
回答 1查看 237关注 0票数 0

我对Powershell完全陌生,我知道很多人使用它来自动化任务,就像bash和c-shell编程是在*NIX中完成的那样。我已经成功地重新编译了一些用FORTRAN编写的古代分析软件,该软件接受单独的输入文件。现在,我需要以某种方式运行不到1000种情况,只需稍微改变输入文件。分析软件编写中间文件,因此对于并发运行,每次运行都必须在不同的目录中。每个案例可能需要40分钟才能解决,因此单独运行这些操作将花费大量的时间,并且容易出错。

现在,对于这个问题,Powershell能自动完成这个任务吗?是否有一些类似的脚本可以被我修改来完成呢?

自动化需要执行以下操作(如我所见):

  1. 输入必须运行的各种运行的输入文件。
  2. 创建一个相对于运行名称/编号的子目录
  3. 保存在子目录中切换变量的输入文件的版本。
  4. 在子目录中运行分析软件
  5. 查看分析软件的标准/错误输出,以确认其成功。
  6. 附加到运行的文件成功或失败
  7. 理想情况下,可以同时进行一些分析(对我的机器来说是4-6)。
  8. 如果它重新启动机器(无论他们选择什么时候都可以这样做),我希望能够重新启动它停止的地方,尽管我希望在强制重新启动过程中会丢失分析软件运行的任何东西。

我尝试过用矢量化和自动并行化重新编译软件,并且在测试的情况下,收敛时间只减少了一小部分,因此可以安全地假设这是有效的单线程。

EN

回答 1

Stack Overflow用户

发布于 2013-11-16 05:31:49

Powershell为Unix用户提供了许多熟悉的别名。ls、cat、cp等被实现为本机Powershell命令的别名。这些命令不区分大小写。更有甚者,你甚至可以用化名搜索帮助。那是,

man ls <=> get-help get-childitem

代码语言:javascript
复制
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开始的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20011675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档