Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 28 maja 2025, o 07:15


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
    Autor Wiadomość
    PostNapisane: 6 lis 2016, o 19:43 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Cześć.

    Wychodzi na to, że jesteście ostatnią deską ratunku. Otóż piszę w .bat pewien skrypt, do którego działania niezbędne jest generowanie komunikatów głosowych z tekstu. Można to osiągnąć na kilka sposobów. Np. napisać skrypt w języku vbs:

    Kod:
    dim speechobject
    set speechobject=createobject("sapi.spvoice")
    speechobject.speak "test"


    który można zapisać do pliku z rozszerzeniem .vbs i uruchamiać z poziomu linii komend na przykład.

    Innym rozwiązaniem jest pobranie i wrzucenie do c:\Windows\System32 pakietu nircmd:
    http://www.nirsoft.net/utils/nircmd.html

    a następnie wykonywanie z dowolnego miejsca poleceń w stylu:

    Kod:
    nircmd speak text "test"



    Wszystko działa pięknie i ładnie, do póki nie chcemy, by skrypty uruchamiały się z poziomu Harmonogramu Windows.


    Przykład:

    Skrypt: d:\test.bat

    Kod:
    @echo off

    >>"d:\%date%-%COMPUTERNAME%-%USERNAME%.log" echo %date%_%time: level1
    call d:\powitanie-Mariusz.bat
    >>"d:\%date%-%COMPUTERNAME%-%USERNAME%.log" echo %date%_%time: level2



    Skrypt: d:\powitanie-Mariusz.bat

    Kod:
    @echo off

    c:\Windows\System32\nircmd mutesysvolume 0
    c:\Windows\System32\nircmd setsysvolume 20000
    c:\Windows\System32\nircmd speak text "test"


    Uruchamiam z palca d:\test.bat

    Słyszę komunikat i znajduję log: d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log o treści:

    Kod:
    2016-11-06_time: level1
    2016-11-06_time: level2


    Usuwam log d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log. Idę do Harmonogramu zadań. Tworzę nowe zadanie:

    ObrazekObrazekObrazekObrazekObrazek

    Uruchamiam.

    Został stworzony log: d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log

    Z zawartością:

    Kod:
    2016-11-06_time: level1
    2016-11-06_time: level2


    Skrypt uruchamia się, ale bez komunikatu głosowego...

    Elektroda wymiękła. Trzepak też.

    Proszę was o pomoc.

    Pozdrawiam
    Mariusz

    PS. wywaliłem @echo off i zrobiłem przekierowanie komunikatów do pliku:

    Obrazek

    Efekt:

    Kod:
    C:\Windows\system32>echo 2016-11-06_19:48:18,05: level1 1>>"d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log"

    C:\Windows\system32>call d:\powitanie-Mariusz.bat

    C:\Windows\system32>c:\Windows\System32\nircmd mutesysvolume 0

    C:\Windows\system32>c:\Windows\System32\nircmd setsysvolume 20000

    C:\Windows\system32>c:\Windows\System32\nircmd speak text "test"

    C:\Windows\system32>echo 2016-11-06_19:48:18,20: level2 1>>"d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log"

    C:\Windows\system32>pause
    Press any key to continue . . .


    Niby błędów brak, a komunikat z głośników nie leci (gdy skrypt wyzwlany z harmonogramu zadań).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 20:12 
    Offline
    Nowy

    Dołączył(a): 09 mar 2014
    Posty: 8
    Pomógł: 0

    Spróbuj zmienić by uruchamiał się nie przy starcie systemu a przy logowaniu dowolnego użytkownika.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 20:23 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    rafalw121 napisał(a):
    Spróbuj zmienić by uruchamiał się nie przy starcie systemu a przy logowaniu dowolnego użytkownika.

    Próbowałem. Bez zmian.

    Jak wspomniałem kliknięcie w ramach testu buttona (nie trzeba czekać na określony wyzwalacz) daje taki sam efekt.

    Obrazek

    Log sugeruje wykonanie się skryptu. Tymczasem w głośnikach komunikatu brak. Gdy skrypt uruchomiony poza harmonogramem zadań, z głośników leci komunikat.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 20:40 
    Offline
    Nowy

    Dołączył(a): 09 mar 2014
    Posty: 8
    Pomógł: 0

    Spróbuj może zmienić nazwę pliku powitanie-Mariusz.bat na inną lub i przenieść go na chwilę na c:\windows\sysytem32



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 21:25 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Spróbuj całe polecenie dać w cudzysłowiu, oraz przejść do właściwego katalogu w bacie z którego uruchamiasz polecenie czyli "windows\system32", o ile pamiętam to taskman nie odpali czegoś z innego katalogu.
    Nie zapomnij o wypełnieniu pola "rozpocznij w".

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 21:51 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Harry napisał(a):
    Spróbuj całe polecenie dać w cudzysłowiu, oraz przejść do właściwego katalogu w bacie z którego uruchamiasz polecenie czyli "windows\system32", o ile pamiętam to taskman nie odpali czegoś z innego katalogu.
    Nie zapomnij o wypełnieniu pola "rozpocznij w".


    Zerknij. Wywaliłem @echo off i zrobiłem przekierowanie komunikatów do pliku:

    Obrazek

    Efekt:

    Kod:
    C:\Windows\system32>echo 2016-11-06_19:48:18,05: level1 1>>"d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log"

    C:\Windows\system32>call d:\powitanie-Mariusz.bat

    C:\Windows\system32>c:\Windows\System32\nircmd mutesysvolume 0

    C:\Windows\system32>c:\Windows\System32\nircmd setsysvolume 20000

    C:\Windows\system32>c:\Windows\System32\nircmd speak text "test"

    C:\Windows\system32>echo 2016-11-06_19:48:18,20: level2 1>>"d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log"

    C:\Windows\system32>pause
    Press any key to continue . . .


    Widać, że jestem w folderze c:\Windows\System32 (tam gdzie nircmd). Nazwa pliku logu wskazuje, że zadanie zostało wykonane na moim użytkowniku (Mariusz). A mimo to komunikatu w głośnikach brak. Zgroza (winzgroza).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 22:12 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    widziałem, ale spróbuj wywalić c:\windows\system32... - odpalaj samo nircmd.exe (z exe, może to też ma znaczenie, choć nie powinno)bez ścieżki i wypełnij "rozpocznij w..."
    czy nircmd z nieznaną komendą coś wyświetla? - byłoby wiadomo czy on się wogóle uruchamia.

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Ostatnio edytowano 6 lis 2016, o 22:24 przez Harry, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 22:15 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Tu pojawił się ciekawy komentarz:
    http://forum.centrumwindows.pl/Temat-Sy ... 1#pid58601



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 22:28 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    fuck, faktycznie, on chyba "wirtualizuje konto" użyszkodnika, w harmonogramie powinna być opcja że ma odpalać w aktualnej sesji, albo trzeba dodać zadanie z wiersza poleceń. Ostatni raz bawiłem się tym na serwerowej wersji systemu ;)

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 22:31 
    Offline
    Nowy

    Dołączył(a): 09 mar 2014
    Posty: 8
    Pomógł: 0

    Sprawdziłem u mnie na win8.1 działa bez żadnych dodatkowych ustawień Dźwięk słychać w końcowym momencie uruchamiania systemu jak jest całkowicie załadowany i gotowy do zalogowania.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 22:39 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    rafalw121 napisał(a):
    Sprawdziłem u mnie na win8.1 działa bez żadnych dodatkowych ustawień Dźwięk słychać w końcowym momencie uruchamiania systemu jak jest całkowicie załadowany i gotowy do zalogowania.


    Jak podlinkuję bezpośrednio d:\powitanie-Mariusz.bat i kliknę w "uruchom" w GUI harmonogramu, to komunikat się odtwarza.
    A jak podlinkuję d:\test.bat, które wykonuje za pomocą call d:\powitanie-Mariusz.bat to wtedy w głośnikach jest cisza.

    Oczywiście jak wykonam, d:\test.bat z innego miejsca niż harmonogram, to wszystko działa poprawnie...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lis 2016, o 22:48 
    Offline
    Nowy

    Dołączył(a): 09 mar 2014
    Posty: 8
    Pomógł: 0

    Umieść wszystko w jednym pliku bat i wywal polecenie Call.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lis 2016, o 04:11 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Nie mogę z uwagi na wielkość i złożoność całości. Potrzebuję dojść przyczyn, dlaczego brak komunikatu gdy akcja wykonywana przez harmonogram.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lis 2016, o 07:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1978
    Lokalizacja: Lipsko
    Pomógł: 125

    A czy w momencie uruchomienia Twojego skryptu winda ustawiła już głośność dźwięku? Być może wszystko się odtwarza tylko tego nie słychać... W końcu to start systemu i wszystko jest możliwe.

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lis 2016, o 07:54 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    SylwekK napisał(a):
    A czy w momencie uruchomienia Twojego skryptu winda ustawiła już głośność dźwięku? Być może wszystko się odtwarza tylko tego nie słychać... W końcu to start systemu i wszystko jest możliwe.


    Tak, jak napisałem wcześniej - harmonogram zadań Windows ma specjalny button "uruchom" służący do testowania wprowadzonego taska. Klikam go w momencie, gdy system jest już dawno w pełni uruchomiony.

    Obrazek

    Jak podlinkuję (w harmonogramie) bezpośrednio d:\powitanie-Mariusz.bat i kliknę w "uruchom" w GUI harmonogramu, to komunikat się odtwarza.
    A jak podlinkuję d:\test.bat, które wykonuje za pomocą call d:\powitanie-Mariusz.bat to wtedy w głośnikach jest cisza.

    Oczywiście jak wykonam, d:\test.bat z innego miejsca niż harmonogram, to wszystko działa poprawnie...

    Nie wiem czy w takim wypadku trop z wirtualizacją użytkownika / sesją i jej wyciszeniem jest poprawny.

    Nie wiem też w jaki sposób odtwarzać dźwięk niezależnie od sesji.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lis 2016, o 13:06 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    a jak odpalisz bez "call"?

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO