アプリ版:「スタンプのみでお礼する」機能のリリースについて

パソコンのスクリーンセーバーのデザインと時間をバッチファイルで変更したいのですが・・・。
次のプログラムで実行しましたが時間が変わません。
できれば、時間は途中で入力したいです。どなたか、ご教示よろしくお願いいたします。

rem 種類をバブルにする
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v "SCRNSAVE.EXE" /t REG_SZ /d "C:\Windows\System32\Bubbles.scr" /f
rem 時間を5分にする
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v "ScreenSaveTimeOut" /t REG_SZ /d 300 /f

A 回答 (2件)

その質問の例では、「300」秒を手入力したいという事でしょうか?



ええと。(´・ω・`) コマンドプロンプトにはキー入力を拾うコマンドは用意されていなんです。

選択するための choiceコマンド を使うという方法も検討してみてください。

 1.60秒
 2.120秒
 3.300秒
 4.1800秒

のような選択肢を表示させて、番号入力ってやり方になります。
(個人的にはこのやり方を勧めます)

・・・本題・・・

copyコマンドで、コンソール入力(con) をファイルに出力し、そのファイルのテキストを参照すれば、入力した値を利用可能になります。

 copy con input.txt

これで入力された値は input.txtファイル に保存されます。
ただし入力して Enterキー を押しただけでは入力状態が継続されます。
 Ctrl+Z 
で入力終了宣言する必要があります。
すなわち
 [3]→[0]→[0]→[Enter]
ではなく、
 [3]→[0]→[0]→[Ctrl]+[Z]→[Enter]
と入力する必要があるって事。

なお、このやりかたは数値の入力しかしないことを前提としています。
文字入力されたときのことは考慮していません。


・・・Tips・・・

このやり方を使って、すでにあるバッチファイルに引数として入力値を渡すというやり方もできる。

たとえば、ChangeScreensaver.bat というバッチファイルに質問文にあるコマンドが入力されているとするなら、
半角スペースが1つだけのテキストファイル space.txt を作り、

 copy ChangeScreensaver.bat+space.txt+con Execute.bat

とすることで、入力値を環境変数 %1 に指定した Execute.bat ファイルが出来上がる。
 ChangeScreensaver.bat 300
とかね。
あとはこの Execute.bat を起動すれば良い
すなわち、

 copy ChangeScreensaver.bat+space.txt+con Execute.bat > nul
 call Execute.bat
 del Execute.bat

こういう事。
(copyコマンドの出力メッセージが邪魔なので、メッセージをnulデバイスへ流して表示を制御しています。
 また、一時ファイルの Execute.batを削除して終了させています)

space.txt は、
 copy con space.txt
と入力し、半角スペースを入力後にCtrl+Z→Enterで作成しちゃってください。

もちろん元のバッチファイルの
 reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v "ScreenSaveTimeOut" /t REG_SZ /d 300 /f
は、
 reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v "ScreenSaveTimeOut" /t REG_SZ /d %1 /f
と、時間のパラーメータを変数に変更しておく必要はある。
    • good
    • 0
この回答へのお礼

ありがとうございます。私には難しいですがご回答内容を一つづつ勉強します。

お礼日時:2024/02/07 02:21

どう変わらないのですか



レジストリが書き換わらないのか、
書き換わったけど時間が変わらないのか

前者ならコマンドの不備でしょう
後者なら再起動して有効になるなら
レジストリの読み込みタイミングでしょう、知らんけど
    • good
    • 0
この回答へのお礼

ありがとう

お礼日時:2024/02/06 22:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A