jak zrobić w batach taką komendę
jeśli dany plik (np 1.txt) jest uruchomiony nie może się 2 raz uruchomić (albo automatycznie się wyłącza)
z ort! dzięki za pomoc
na czym polega "uruchomiony 1.txt"? chodzi o otwarty Notatnik z tym plikiem?
a co jeśli plik otworzono pod innym edytorem, np. Notepad++, też ma się liczyć czy nie?
podałem plik przykładowy ten przykład jest nie ważny itak zmienię to a co do formatu to się nie liczy ale najlepiej w batach rozszerzenie ansi bo te najlepiej rozumiem
Stawiam na 99%, że nie da się w baczu - w najprostszym przypadku musiałbyś iterować po wszystkich oknach, a "na czysto" w batchu tego nie zrobisz, ponieważ nie do tego został stworzony.
Tutaj przyda się C, Pascal (...)
Plik tekstowy nie może być uruchomiony. Może być otworzony za pomocą jakiegoś programu.
W takim wypadku jesteś w stanie sprawdzić, czy ten dany program został już otworzony, np:
@echo off
tasklist /nh /fi "imagename eq wmplayer.exe" | find /i "wmplayer.exe" >nul && (
echo Windows Media Player is running
) || (
echo Windows Media Player is not running
)
pause>nul
dzięki właśnie o coś takiego mi chodziło a jak to połączyć z if że jeśli wykryje otwarty 2 lub więcej razy otwarty ten sam program aby ten wyłączał je tak aż zostanie 1
Musisz to połączyć z siostrzaną funkcją, tj. taskkill
Przykład użycia:
taskkill /f /im "notepad.exe"
/f - Forces the termination of all processes
/im imagename - Specifies the image name of the process that has to be terminated.
Wildcard '*' can be used to specify all image names. Not used if PID is given in the command
@somekind: ale jak to ma zabezpieczyć przed zamknięciem innej instancji Notatnika?