時間に応じて自分のPCからソーシャルメディアをブロックしたいと思います。 午後9時以降にブロックし、午前11時以降にブロック解除する(ペアレンタルコントロールのように) 私は次の試みを試みたが失敗した。 ウィンドウからのソーシャルメディアをブロックする方法
はUnblock.bat
ファイルに
@echo off
(Get-Content C:\Windows\System32\drivers\etc\hosts) | ForEach-Object { $_ -replace "127.0.0.1 facebook.com", "#127.0.0.1 facebook.com" } | Set-Content C:\Windows\System32\drivers\etc\hosts
を作成しblock.bat
ファイル
@echo off
(Get-Content C:\Windows\System32\drivers\etc\hosts) | ForEach-Object { $_ -replace "#127.0.0.1 facebook.com", "127.0.0.1 facebook.com" } | Set-Content C:\Windows\System32\drivers\etc\hosts
を作成し、タスクスケジューラにこれら2 batファイルを追加しました。ブロックは午前11時に実行され、午後9時にロック解除されます。
Set-Content : The input object cannot be bound because it did not contain the information required to bind all mandatory parameters: Path At line:1 char:140 + ... e "#127.0.0.1 facebook.com", "127.0.0.1 facebook.com" } | Set-Content + ~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (# Copyright (c)...Microsoft Corp.:String) [Set-Content], ParameterBindingException + FullyQualifiedErrorId : InputObjectMissingMandatory,Microsoft.PowerShell.Commands.SetContentCommand
を、手動でbatファイルを実行すると、何もしません:
私はPowerShellのからこのエラーを取得しています。
をこんにちは、何が動作しませんか?バットファイル?スケジュールされたタスクですか?これを含めるように質問を編集してください。 – sodawillow
あなたが失敗したことを正確に説明してください。 –
powershellでテストスクリプトを実行する '(Get-Content test.txt)| ForEach-Object {$ _ -replace "from"、 "to"} | Set-Content test.txt'このコードは完全に機能します。しかし、私はパスを変更し、バットから実行されているときは動作していません。 – Nithee