0
Powershellを知っている人にとってはおそらく簡単な質問です。私はすでにtheseとtheseのような同様の質問に対するいくつかの回答の提案を実装しようとしました。私はフォルダを監視し、変更の場合にログファイルを書き込むファイルウォッチャーを持っています。これはうまくいく。PowershellscriptのFileSystemWatcherを使ってPythonファイルを実行する
私ができなかったことは、追加のPythonスクリプトを実行することでした。私はどんなアドバイスにも感謝しています。
$folder = 'F:\myPath\myFolder' # Enter the root path you want to monitor.
$filter = '*.*' # You can enter a wildcard filter here.
# In the following line, you can change 'IncludeSubdirectories to $true if required.
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
# Registered events:
Register-ObjectEvent $fsw Renamed -SourceIdentifier FileRenamed -Action {
$OldName = $Event.SourceEventArgs.OldName
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp" -fore white
Out-File -FilePath F:\myPath\myLogFile.txt -Append -InputObject "The file $name was $changeType at $timeStamp"
python F:\myPath\myPythonScript.py}
Powershell ISEでどうすれば実現できますか?
あなたが正しいです:コンソールに 'python F:\ myPath \ myPythonScript.py'コマンドだけを入力すると、Pythonスクリプトが実行されます。しかし、Powershellコンソールでスクリプト全体(ファイルシステムワッチャーを含む)を実行すると、監視フォルダ内のファイルを変更するとPythonスクリプトが実行されません。では、ファイルが監視フォルダ内で変更された場合、Pythonスクリプトを実行するにはどうすればよいですか? – Chris
EventSubscriberは、 '-Action'の後の中カッコでコードを実行します。そこのコードは正しく実行されていますか?たとえば、ログファイルに書き込むのですか? –
はい、コードは正しく実行され、ログファイルが書き込まれます。ただし、コンソールでpythonスクリプトは実行されません。私は使用している質問とコードを編集しました。 – Chris