2016-07-27 8 views
0

現在、特定のサービスが停止しているにもかかわらず、「cmd.exe」プロセスがアクティブのままである問題が発生しています。これは、フォルダのアクションを実行する自動スクリプトの問題を引き起こし、名前の変更や移動などを防止します。文字列を含むBATファイルから特定のcmd.exeを取り除く

私の自動化されたスクリプトはBATファイルから実行されるので、私はTASKKILLでそれを強制終了できます。 「プロセスエクスプローラ」を使用して、フォルダ名を検索し、それを使用していた「cmd.exe」を見つけることができました。私はこの問題を自動化する方法を見つけ出すのに苦労しています。私の擬似例は...ある

taskkill /IM cmd.exe /FI "NAME contains TC38247178584278321320778" 
php\php.exe migration.php TC38247178584278321320778 

enter image description here

+0

これは代替解決策につながる可能性があります。[どのプロセスにファイルが開いているかを確認するにはどうすればいいですか?](https://blogs.msdn.microsoft.com/oldnewthing/20120217-00 /?p = 8283)そして答えは:[Restart Manager](https://msdn.microsoft.com/en-us/library/windows/desktop/cc948910.aspx)を使用します。 – IInspectable

+0

これは非常にうまく見えますが、私は現在BATとPHPファイルを使用しています。 –

+0

[PowerShell](https://msdn.microsoft.com/en-us/powershell/mt173057)に切り替えることができます.aspx)を使用すると、実行可能なオプションになります。たくさんのP/Invoke呼び出しがあっても。 – IInspectable

答えて

0
wmic process where "commandline like '%TC38247178584278321320778%'" get name 

次のコマンドは、wmic /node /?

wmic process where "commandline like '%TC38247178584278321320778%'" call terminate 

wmic /?wmic process /?wmic process get /?wmic process call /?wmic process set /?wmic /format /?を参照してください殺すかを確認します、etc

Like%であり、_は1文字です。そうでなければ=, <>, <, >, <=, =>

関連する問題