I'm using batch to make a program that notifies when someone is on their ftp server. Now I have a script that checks then sends a command to rainmeter's NXT-OS skin to open up a notifier. It does this by trying to download a file from the ftp server, because if the file is there it means the user is online. If it isn't there then we know it is not. I have it set so the files do not exist. However right now I am experiencing a bug where it makes the whistle sound of a notification without any popup box. Can someone look at this code and see how it could be sending half of a command when nobody is online? Thanks! Note: The included code is not the whole thing since the code includes ftp server addresses and passwords. Thanks!
(Run on Windows)
Rem This is where it checks if the files were downloaded
if exist on.%friend1% set Friend1Stat=On
if exist on.%friend2% set Friend2Stat=On
if exist on.%friend3% set Friend3Stat=On
if exist on.%friend4% set Friend4Stat=On
if exist on.%friend5% set Friend5Stat=On
if exist on.%friend1% set /p Friend1Name=<on.%friend1%
if exist on.%friend2% set /p Friend2Name=<on.%friend2%
if exist on.%friend3% set /p Friend3Name=<on.%friend3%
if exist on.%friend4% set /p Friend4Name=<on.%friend4%
if exist on.%friend5% set /p Friend5Name=<on.%friend5%
if not exist log.txt echo. >log.txt
echo %time% %date% >>log.txt
set >>log.txt
if %Friend1Stat%==on goto friend1
goto friend1b
:back1
if %friend2stat%==on goto friend2
goto friend2b
:back2
if %friend3stat%==on goto friend3
goto friend3b
:back3
if %friend4stat%==on goto friend4
goto friend4b
:back4
if %friend5stat%==on goto friend5
goto friend5b
:back5
echo Complete. Waiting 60 seconds before starting again.
choice /c q /d q /t 60 /n
goto TESTFORFRIENDS
:friend1
if %friend1run%==yes goto back1
set friend1run=yes
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend1', style = 2, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend1name% is Online', body = '%friend1name% is on their computer.%time%'})" "nxt-os\Notify"
goto back1
:friend1b
if %Friend1run%==no goto back1
set friend1run=no
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend1', style = 2, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend1name% is Offline', body = '%friend1name% is no longer on their computer. %time%'})" "nxt-os\Notify"
goto back1
:friend2
if %friend2run%==yes goto back2
set friend2run=yes
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend2', style = 2, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend2name% is Online', body = '%friend2name% is on their computer.%time%'})" "nxt-os\Notify"
goto back2
:friend2b
if %Friend2run%==no goto back2
set friend2run=no
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend2', style = 2, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend2name% is Offline', body = '%friend2name% is no longer on their computer. %time%'})" "nxt-os\Notify"
goto back2
:friend3
if %friend3run%==yes goto back3
set friend3run=yes
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend3', style = 3, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend3name% is Online', body = '%friend3name% is on their computer.%time%'})" "nxt-os\Notify"
goto back3
:friend3b
if %Friend3run%==no goto back3
set friend3run=no
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend3', style = 3, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend3name% is Offline', body = '%friend3name% is no longer on their computer. %time%'})" "nxt-os\Notify"
goto back3
:friend4
if %friend4run%==yes goto back4
set friend4run=yes
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend4', style = 4, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend4name% is Online', body = '%friend4name% is on their computer.%time%'})" "nxt-os\Notify"
goto back4
:friend4b
if %Friend4run%==not goto back4
set friend4run=no
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend4', style = 4, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend4name% is Offline', body = '%friend4name% is no longer on their computer. %time%'})" "nxt-os\Notify"
goto back4
:friend5
if %friend5run%==yes goto back5
set friend5run=yes
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend5', style = 5, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend5name% is Online', body = '%friend5name% is on their computer.%time%'})" "nxt-os\Notify"
goto back5
:friend5b
if %Friend5run%==not goto back5
set friend5run=no
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'Online-Friend5', style = 5, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = '%friend5name% is Offline', body = '%friend5name% is no longer on their computer. %time%'})" "nxt-os\Notify"
goto back5
:nosettings
"C:\Program files\Rainmeter\rainmeter.exe" ^!CommandMeasure "Notify" "notify({name = 'ITCMD', group = 'no-settings', style = 2, sound = 1, icon = 'Resources\\Images\\Welcome.png', title = 'Set Up ITCMD Notifier', body = 'Open the Location of the Notifier and edit settings.ini Then Restart the program.'})" "nxt-os\Notify"
echo :: Set Friend Usernames here! (Users set their own usernames) >settings.ini
echo. >>settings.ini
echo set Friend1=Set>>settings.ini
echo set Friend2=Set>>settings.ini
echo Set Friend3=Set>>settings.ini
echo Set Friend4=Set>>settings.ini
echo Set Friend5=Set>>settings.ini
echo. >>settings.ini
echo. >>settings.ini
echo :: Note: Do not change anything but the friend uernames! Fatal errors could occur. >>settings.ini
exit /b
Thanks a bunch in advance! If you have any questions let me know!
I discovered something in the rainmeter log files:
Rainmeter: Debugging: ITCMD has sent an invalid notification type
I realized that the numbers for "style" went up to 3 4 and 5 when I would use Find and replace to replace all the numbers in %friend2%
or %Friend2Name%
as well! Thanks for your help anyways. Hope this helps anyone else!