[解決済み] Powershellでコマンドを並列に実行することはできますか?
2022-06-15 06:18:39
質問
大量の画像に対してバッチ処理を行うpowershellスクリプトがあるのですが、並列処理を行いたいと考えています。 Powershellにはstart-jobやwait-jobなどのバックグラウンド処理のオプションがあるようですが、並列処理を行うための良い資料は、スクリプトのテキストを書き出し、それらを実行することくらいしか見つかりませんでした( PowerShell マルチスレッド )
理想を言えば、.net 4の並列foreachのようなものが欲しいです。
みたいなかなりシームレスなもの。
foreach-parallel -threads 4 ($file in (Get-ChildItem $dir))
{
.. Do Work
}
c#に落とした方がいいのかも...。
どのように解決するのですか?
Powershell 2 で並列ジョブを実行するには、次のようにします。 バックグラウンドジョブ . チェックアウト スタート-ジョブ および他のジョブ・コマンドレットを確認してください。
# Loop through the server list
Get-Content "ServerList.txt" | %{
# Define what each job does
$ScriptBlock = {
param($pipelinePassIn)
Test-Path "\\$pipelinePassIn\c`$\Something"
Start-Sleep 60
}
# Execute the jobs in parallel
Start-Job $ScriptBlock -ArgumentList $_
}
Get-Job
# Wait for it all to complete
While (Get-Job -State "Running")
{
Start-Sleep 10
}
# Getting the information back from the jobs
Get-Job | Receive-Job
関連
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] PowerShellで文字列と変数を連結する方法は?
-
[解決済み] スレッドは何本までならOK?
-
[解決済み】PowerShellスクリプトを実行する方法
-
[解決済み] ロックされていないミューテックスをロックすることは、どの程度効率的ですか?ミューテックスのコストは?
-
[解決済み] スレッドセーフとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] レースコンディションとは何ですか?
-
[解決済み] スレッドは何本までならOK?
-
[解決済み] デッドロックとライブロックの違いは何ですか?
-
[解決済み] 再帰的ロック (Mutex) vs 非再帰的ロック (Mutex)
-
[解決済み] 技術的に、なぜErlangのプロセスはOSのスレッドよりも効率的なのですか?
-
[解決済み] デッドロックとは何ですか?
-
[解決済み] スレッドコンテキストスイッチとプロセスコンテキストスイッチの比較
-
[解決済み] 非同期とマルチスレッド - 違いはあるのか?
-
[解決済み] Powershellでコマンドを並列に実行することはできますか?
-
[解決済み] コンパイル時の-pthreadと-lpthreadの違いについて