2017-08-24 10 views
0

私はこれに新しいですし、私はYoutubeで見た基本的な例をしようとしています:バッチファイルがループしていませんか?

@echo off 
echo this little program helps you to refresh a website 
pause 
cls 
echo but first we have to do some preferences 
pause 
cls 
echo please enter the website name here 
set /p website= 
cls 
echo please enter the time between refreshes 
set /p time= 
cls 
echo Set limited or unlimited refresh 
set /p refresh= 
if'%refresh%'=='1' goto :once 
if'%refresh%'=='0' goto :unlimited 
cls 

:once 
cls 
echo Preferences finished 
pause 
timeout /t %time% /nobreak 
start %website% 
exit 

:unlimited 
cls 
echo Preferences finished 
pause 
:again 
timeout /t %time% /nobreak 
start %website% 
goto :again 
このコードは、ウェブサイトのユーザーとリフレッシュ時間を尋ねることになっていると、それを再度開くことにより、そのウェブサイトが更新されます

IE(インターネットエクスプローラ)で、しかし、私はこれで2つの問題を抱えて:ループは、私は0または「0」を入力した場合、それは一度だけ実行し、.BAT

  • を終了します

    1. 動作しないあり新しいタブでページを再度開くことなくページを更新する方法(現在のタブを更新するなど)
  • +0

    ヒント: 'exit'コマンド – SteveFest

    +0

    exitは一度だけ実行するようにしてください。私が定義した場合、より良いでしょうか? –

    +0

    いいえ。同じことです。 – SteveFest

    答えて

    1

    スクリプトに構文エラーがあります。

    EXIT


    EXITコマンドは、スクリプトを終了します。それを他のものに変更したいかもしれません。


    IF声明

    if'%refresh%'=='1' goto :once 
    

    は完全に間違っている、あなたの代わりにこれを置く必要があります。

    if "%refresh%"=="1" goto :once 
    

    未定義入力

    変数%refresh%は1か0でない場合、それは:onceに行くと、そこにコードを実行します。

    ウェブページ
    Set WshShell = WScript.CreateObject("WScript.Shell") 
    WshShell.AppActivate("Chrome") 
    WshShell.SendKeys "{F5}" 
    

    Refresh.vbsとしてこのスクリプトを保存して、バッチファイルと同じフォルダにそれを置くの更新


    ウェブページを更新する場合は、cscript //nologo Refresh.vbsを入力してください。

    +0

    あまりにも速く、それはページを読み込んでいない爽やかな方法です。 cmdボックスが吃音し、ページがパーマに読み込まれています。 –

    +0

    それから、 'time'を入力すると大きな数字を入力します – SteveFest

    +0

    ああ私はそれを修正しました。ごめんなさい!どうもありがとうございました。 –

    関連する問題