我可以按以下顺序编译目录中的所有LaTeX文件:
Get-ChildItem -include *.tex -name | ForEach-Object {
lualatex --interaction=nonstopmode --output-directory=$pwd $_ } }我想一次并行编译两个文件。不幸的是,我对Windows非常陌生,而且我似乎找不到一个很好的方法来做到这一点。有什么想法吗?
发布于 2014-04-13 19:04:04
这个答案来自@RomanKuzmin和SplitPipeline模块。
Get-ChildItem -Include *.tex | SplitPipeline -Count 2 {
process {
lualatex --interaction=nonstopmode --output-directory=$( $_.DirectoryName ) $_.FullName } }发布于 2014-04-11 04:28:08
您可以使用Start-Process cmdlet异步启动一个新进程。如果不指定-Wait参数,则进程将异步执行。
Get-ChildItem -Path $PSScriptRoot\* -Include *.tex | `
ForEach-Object -Process { `
Start-Process -FilePath lualatex -ArgumentList ('lualatex --interaction=nonstopmode --output-directory={1} "{0}"' -f $PSItem.FullName, $pwd); `
};我还没有测试这段代码,因为我没有lualatex可执行文件,但是这会让您了解它是如何工作的。
https://stackoverflow.com/questions/23002636
复制相似问题