2012. 4. 25. 11:06 IT

WHY?

윈도우에서 실행되는 데몬성 프로그램 중에서 복수개의 프로세스를 띄우면 안되는 프로그램이 있어서...


HOW?

1. tasklist 명령으로 해당 프로세스가 떠있는지 확인.

2. 유무에 따라 프로세스 실행


example

@echo off

set PROCEXIST=NO

set PCNAME="blahblah.exe"

tasklist /nh /fi "Imagename eq %PCNAME%" | find /C %PCNAME% && set PROCEXIST=YES


if /I "%PROCEXIST%"=="NO" goto :EXEC


echo %PCNAME% already exist.

tasklist /v /fi "Imagename eq %PCNAME%" /fo list

echo ******* press any key to exit *******

echo.

pause >NUL

goto :EXIT


:EXEC

blahblah.exe


:EXIT


References 

http://www.computing.net/answers/programming/dos-command-for-wait-5-seconds/11192.html

tasklist : http://technet.microsoft.com/en-us/library/bb491010.aspx

posted by smplnote
2011. 12. 29. 08:33 IT

윈도우 NT의 쉘 명령으로 날짜를 제공하는 명령어는 date 입니다.

>date /t
>2011-12-29

아쉽게도 국가코드에 따라 출력되는 포맷이 달라집니다.

이걸 해결하는 방법중 하나가

>command.com /c date
>Current date is Thu 2011-12-29

인데... 이건 또 2003 서버 이상의 OS에는 command.com 을 지원하지 않기 때문에 제약이 있네요.

다른 방법은 각 요일마다 각각 고유한 이름의 배치파일을 실행하도록 at 에 등록하면 어쨌든 해결 될텐데 그닥 깔끔해보이지는 않네요....



posted by smplnote