DOS komanda (nikako da provalim)

nemanja_m

Zainteresovan član
Poruka
193
Potrebna mi je komanda koja bi u odredjenom vremenu pokretala neki program. Recimo ako je 26.4.2006 onda da ga pokrene, a ako je neki drugi dan onda nista da ne ucini. Takodje ne mogu da shvatim komandu kako da se to ponavlja recimo na sedam dana, znaci svake nedelje da pokrece neki program, a drugim danima da to ne radi. Pokusavao sam da u text fajl upisem neki text pa da ga odredjenog datuma pokrenem ali mi nikako ne uspeva:

ECHO ovo je test > test.txt
IF date 04/26/2006 call test.txt

sta ovde ne valja?
please help!
 
Probaj sa "Scheduling" da u odredjeno vreme nesto uradi (potera tvoj program)
Ili, vidi da ti neko napravi mali programcic, koji bi se startovao pri startu OS a taj programcic bi proveravao datum i startovao program o kome pricas u odredjene datume.

Ne znam tacno sta zelis, pa ne mogu sire odgovoriti, mozda moze i jednostavnije, zavisi sta tacno hoces.
Ono kako si pokusao da napravis BAT fajl, nece raditi, jer sintaksa nije dobra. I uostalom, ako vec pravis tekstualni fajl, pisi ga brate u Notepadu jer je jednostavan. Zasto koristis ECHO? Koji OS koristis?

( a vi ostali momci, nemojte da "jujucete" ako ne mozete pomoci! )
 
Nasao sam negde slican kod za upisivanje texta u neki novi text fajl pa sam to iskoristio ali to nije uopste sada meni vazno,vec me zanima da li bi nekako u neko odredjeno vreme (recimo u 11:00 22.maja 2006.) taj bat fajl, ako se pokrene, mogao da prikaze odredjeni fajl (nije bitno da li je program, .txt fajl, doc ili slicno). znaci potreban mi je samo kod kako da on u odredjeno vreme poziva neki fajl, a posto ne znam mnogo o tome bio bih vam zahvalan ako mozete da pomognete...
 
ANSI.SYS Defines functions that change display graphics, control cursor movement, and reassign keys.
APPEND Causes MS-DOS to look in other directories when editing a file or running a command.
ARP Displays, adds, and removes arp information from network devices.
ASSIGN Assign a drive letter to an alternate letter.
ASSOC View the file associations.
AT Schedule a time to execute commands or programs.
ATMADM Lists connections and addresses seen by Windows ATM call manager.
ATTRIB Display and change file attributes.
BATCH Recovery console command that executes a series of commands in a file.
BOOTCFG Recovery console command that allows a user to view, modify, and rebuild the boot.ini
BREAK Enable / disable CTRL + C feature.
CACLS View and modify file ACL's.
CALL Calls a batch file from another batch file.
CD Changes directories.
CHCP Supplement the International keyboard and character set information.
CHDIR Changes directories.
CHKDSK Check the hard disk drive running FAT for errors.
CHKNTFS Check the hard disk drive running NTFS for errors.
CHOICE Specify a listing of multiple options within a batch file.
CLS Clears the screen.
CMD Opens the command interpreter.
COLOR Easily change the foreground and background color of the MS-DOS window.
COMMAND Opens the command interpreter.
COMP Compares files.
COMPACT Compresses and uncompress files.
CONTROL Open control panel icons from the MS-DOS prompt.
CONVERT Convert FAT to NTFS.
COPY Copy one or more files to an alternate location.
CTTY Change the computers input/output devices.
DATE View or change the systems date.
DEBUG Debug utility to create assembly programs to modify hardware settings.
DEFRAG Re-arrange the hard disk drive to help with loading programs.
DEL Deletes one or more files.
DELETE Recovery console command that deletes a file.
DELTREE Deletes one or more files and/or directories.
DIR List the contents of one or more directory.
DISABLE Recovery console command that disables Windows system services or drivers.
DISKCOMP Compare a disk with another disk.
DISKCOPY Copy the contents of one disk and place them on another disk.
DOSKEY Command to view and execute commands that have been run in the past.
DOSSHELL A GUI to help with early MS-DOS users.
DRIVPARM Enables overwrite of original device drivers.
ECHO Displays messages and enables and disables echo.
EDIT View and edit files.
EDLIN View and edit files.
EMM386 Load extended Memory Manager.
ENABLE Recovery console command to enable a disable service or driver.
ENDLOCAL Stops the localization of the environment changes enabled by the setlocal command.
ERASE Erase files from computer.
EXIT Exit from the command interpreter.
EXPAND Expand a Microsoft Windows file back to it's original format.
EXTRACT Extract files from the Microsoft Windows cabinets.
FASTHELP Displays a listing of MS-DOS commands and information about them.
FC Compare files.
FDISK Utility used to create partitions on the hard disk drive.
FIND Search for text within a file.
FINDSTR Searches for a string of text within a file.
FIXBOOT Writes a new boot sector.
FIXMBR Writes a new boot record to a disk drive.
FOR Boolean used in batch files.
FORMAT Command to erase and prepare a disk drive.
FTP Command to connect and operate on a FTP server.
FTYPE Displays or modifies file types used in file extension associations.
GOTO Moves a batch file to a specific label or location.
GRAFTABL Show extended characters in graphics mode.
HELP Display a listing of commands and brief explanation.
IF Allows for batch files to perform conditional processing.
IFSHLP.SYS 32-bit file manager.
IPCONFIG Network command to view network adapter settings and assigned values.
KEYB Change layout of keyboard.
LABEL Change the label of a disk drive.
LH Load a device driver in to high memory.
LISTSVC Recovery console command that displays the services and drivers.
LOADFIX Load a program above the first 64k.
LOADHIGH Load a device driver in to high memory.
LOCK Lock the hard disk drive.
LOGON Recovery console command to list installations and enable administrator login.
MAP Displays the device name of a drive.
MD Command to create a new directory.
MEM Display memory on system.
MKDIR Command to create a new directory.
MODE Modify the port or display settings.
MORE Display one page at a time.
MOVE Move one or more files from one directory to another directory.
MSAV Early Microsoft Virus scanner.
MSD Diagnostics utility.
MSCDEX Utility used to load and provide access to the CD-ROM.
NBTSTAT Displays protocol statistics and current TCP/IP connections using NBT
NET Update, fix, or view the network or network settings
NETSH Configure dynamic and static network information from MS-DOS.
NETSTAT Display the TCP/IP network protocol statistics and information.
NLSFUNC Load country specific information.
NSLOOKUP Look up an IP address of a domain or host on a network.
PATH View and modify the computers path location.
PATHPING View and locate locations of network latency.
PAUSE Command used in batch files to stop the processing of a command.
PING Test / send information to another network computer or network device.
POPD Changes to the directory or network path stored by the pushd command.
POWER Conserve power with computer portables.
PRINT Prints data to a printer port.
PROMPT View and change the MS-DOS prompt.
PUSHD Stores a directory or network path in memory so it can be returned to at any time.
QBASIC Open the QBasic.
RD Removes an empty directory.
REN Renames a file or directory.
RENAME Renames a file or directory.
RMDIR Removes an empty directory.
ROUTE View and configure windows network route tables.
RUNAS Enables a user to execute a program on another computer.
SCANDISK Run the scandisk utility.
SCANREG Scan registry and recover registry from errors.
SET Change one variable or string to another.
SETLOCAL Enables local environments to be changed without affecting anything else.
SETVER Change MS-DOS version to trick older MS-DOS programs.
SHARE Installs support for file sharing and locking capabilities.
SHIFT Changes the position of replaceable parameters in a batch program.
SHUTDOWN Shutdown the computer from the MS-DOS prompt.
SMARTDRV Create a disk cache in conventional memory or extended memory.
SORT Sorts the input and displays the output to the screen.
START Start a separate window in Windows from the MS-DOS prompt.
SUBST Substitute a folder on your computer for another drive letter.
SWITCHES Remove add functions from MS-DOS.
SYS Transfer system files to disk drive.
TELNET Telnet to another computer / device from the prompt.
TIME View or modify the system time.
TITLE Change the title of their MS-DOS window.
TRACERT Visually view a network packets route across a network.
TREE View a visual tree of the hard disk drive.
TYPE Display the contents of a file.
UNDELETE Undelete a file that has been deleted.
UNFORMAT Unformat a hard disk drive.
UNLOCK Unlock a disk drive.
VER Display the version information.
VERIFY Enables or disables the feature to determine if files have been written properly.
VOL Displays the volume information about the designated drive.
XCOPY Copy multiple files, directories, and/or drives from one location to another.
 
nemanja_m:
stvarno hvala,pa to sam i ja provalio na "help" u dos-u. Treba mi konkretan kod...
Nemanja, ljudi su ti sve rekli.
Mozes od nekoga traziti kod, ali ga brate i plati, ako vec nisi programer.
To sto ti hoces moze se veoma lako uraditi ako se napise mali program, koji ce se startovati zajedno sa startom OS, proveriti datum, ako je uslov zadovoljen startuje neki program ili ispise neku poruku, ili iscita neki fajl pa opet poruku, ili poseti neku web stranu ili - sta god.
Ali tek tako - "meni treba kod" ne ide.
 
nemanja_m:
Nasao sam negde slican kod za upisivanje texta u neki novi text fajl pa sam to iskoristio ali to nije uopste sada meni vazno,vec me zanima da li bi nekako u neko odredjeno vreme (recimo u 11:00 22.maja 2006.) taj bat fajl, ako se pokrene, mogao da prikaze odredjeni fajl (nije bitno da li je program, .txt fajl, doc ili slicno). znaci potreban mi je samo kod kako da on u odredjeno vreme poziva neki fajl, a posto ne znam mnogo o tome bio bih vam zahvalan ako mozete da pomognete...

Ako je u pitanju samo startovanje nekog programa koji odrađuje nešto, ili programa koji otvara neki fajl, onda stvar možeš rešiti na nekoliko načina.

Prvo ti treba jedan programčić koji će da uradi dve stvari:
1. Ispita trenutni datum i ako je datum pravi, onda:
2. Pozove Windows proceduru CreateProcess

Ovo poslednje je poziv onog programa koji te interesuje, koji, ako treba da otvori neki fajl, onda dobija i kao parametar ime tog fajla. Primera radi, možeš da startuje IE sa web adresom određenog sajta.

Ostaje samo problem na koji način će se taj programčić startovati. Ako je sa pokretanjem sistema, onda imaš mali problem, a šta ako je sistem već podignut, a anstupio je određeni datum ? Da ga instaliraš kao Windows service takođe može, ali to je onda već peripetija... i nisam siguran da je pametno rešenje.

Budi precizniji u opisu...
 
Sucur:
Zasto problem ? Jednostavno napravi registri zapis i pri svakom startovanju sistema ce da se pokrene i ta aplikacija

Zamisli scenario:

Podigneš sistem u "datum -1" negde u 22h, ostaneš tako do ujutru, ugasiš ga i onda ga ponovo pališ u "Datum +1".

Dakle, komp je bio uključen na zadati datum, ali nije došlo do pokretanja programa...

Sada, ja sam možda pobrkao neke stvari, zašto se insistira na Registry-ju ? Zar ne može onaj autoexec.bat da odradi posao ? Sigurno sam nešto prevideo, pa pitam. Ali ja nekog sa tako malo iskustva ne bih pripuštao Registry-ju.
 
Ne vidim drugi nacin sem da se pri podizanju sistema, startuje i program koji ce da prati sistemski datum i biti neprekidno u memoriji.
Za jednu firmu sam uradio program koji se podize pri startu sistema i neprekidno je aktivan a sluzi da "docekuje" zahteve klijenta preko interneta za produzenje licence. Sve dok je server aktivan, aktivan je i taj program i bilo koji klijent da se prijavi za produzenje licence, program obradi njegove podatke i posalje mu nazad odredjeni kod koji na klijentovoj strani napravi "update" uredjaja kojim se kontrolise klijentov program i njegova licenca.
Poenta je u tome da takav program (pa i program koji bi kontrolisao datum i nesto uradio ako treba), mora neprekidno biti u memoriji i startovati se pri svakom podizanju sistema, sto neki puta moze da smeta ako korisnik nema dovoljno memorije.
Nema potrebe za cackanjem po registriju, jer i ako i ima zapis u registry, ne moze ni tada da neprekidno monitorise datum i aktivira neku akciju. To mora da odradi neki aktivan proces/program koji ce stalno da "cuci" u memoriji (biti startovan)
Jer, ako nije startovan, kako je Episkop primetio, program ce jedno proveriti datum, korisnik radi neprekidno ali kad naidje kriticni datum/vreme, nista se nece desiti jer nijedan program vise ne kontrolise to....
 
Episkop:
Zamisli scenario:

Podigneš sistem u "datum -1" negde u 22h, ostaneš tako do ujutru, ugasiš ga i onda ga ponovo pališ u "Datum +1".

Dakle, komp je bio uključen na zadati datum, ali nije došlo do pokretanja programa...

Sada, ja sam možda pobrkao neke stvari, zašto se insistira na Registry-ju ? Zar ne može onaj autoexec.bat da odradi posao ? Sigurno sam nešto prevideo, pa pitam. Ali ja nekog sa tako malo iskustva ne bih pripuštao Registry-ju.
Ja sam govorio o izradi software-a koji bi to radio, i registri bi koristio za dizanje programa sa sistemom, a neki *.txt, *.dat ili neki treci dokument za pamcenje zadatog vremena (moze i baza podataka, ako se planira rad sa vecim brojem datuma) i jednostavno funkciju, moze CreateProcess da pokrece zadatu aplikaciju.
 
codemaker:
Ne vidim drugi nacin sem da se pri podizanju sistema, startuje i program koji ce da prati sistemski datum i biti neprekidno u memoriji.
Za jednu firmu sam uradio program koji se podize pri startu sistema i neprekidno je aktivan a sluzi da "docekuje" zahteve klijenta preko interneta za produzenje licence. Sve dok je server aktivan, aktivan je i taj program i bilo koji klijent da se prijavi za produzenje licence, program obradi njegove podatke i posalje mu nazad odredjeni kod koji na klijentovoj strani napravi "update" uredjaja kojim se kontrolise klijentov program i njegova licenca.
Poenta je u tome da takav program (pa i program koji bi kontrolisao datum i nesto uradio ako treba), mora neprekidno biti u memoriji i startovati se pri svakom podizanju sistema, sto neki puta moze da smeta ako korisnik nema dovoljno memorije.
Nema potrebe za cackanjem po registriju, jer i ako i ima zapis u registry, ne moze ni tada da neprekidno monitorise datum i aktivira neku akciju. To mora da odradi neki aktivan proces/program koji ce stalno da "cuci" u memoriji (biti startovan)
Jer, ako nije startovan, kako je Episkop primetio, program ce jedno proveriti datum, korisnik radi neprekidno ali kad naidje kriticni datum/vreme, nista se nece desiti jer nijedan program vise ne kontrolise to....
Vidim da se nismo razumili, ja sam govorio o registriju za podizanje programa sa sistemom, a provjera se vrsi na bazi timera, gdje bi se provjeravala jednakost lokalnog i zadatog vremena.
 
codemaker:
To mora da odradi neki aktivan proces/program koji ce stalno da "cuci" u memoriji (biti startovan)
Jer, ako nije startovan, kako je Episkop primetio, program ce jedno proveriti datum, korisnik radi neprekidno ali kad naidje kriticni datum/vreme, nista se nece desiti jer nijedan program vise ne kontrolise to....

Znači mora da radi kao Windows service. Rezidentan i obavlja posao. Naravno, to od Windows 2000 pa nadalje, ako se ne varam. Na Win98 bio bi samo rezidentan...

Kada se program instalira kao windows service, postavi se mogućnost da se startuje prilikom svakog podizanja sistema.
 
Episkop:
Znači mora da radi kao Windows service. Rezidentan i obavlja posao. Naravno, to od Windows 2000 pa nadalje, ako se ne varam. Na Win98 bio bi samo rezidentan...

Kada se program instalira kao windows service, postavi se mogućnost da se startuje prilikom svakog podizanja sistema.
Kada pokrenes neku aplikaciju ona automatski ide u procese (sto znaci da je ona aktivna, dakle bez obzira imas li ti notifikaciju te aktivnosti u system tray-u il' u taskbaru, ona je aktivna). E sada kada ti postavis registri zapis preko svog programa koji ce se naravno automatski unijeti u registri bazu prilikom pokretanja programa, znaci korisnik softvera nema nikakve veze sa tim, tj nece se petljati sa njenim upisom, ti imas i podizanje te aplikacije sa sistemom.
Kada se sistem sledeci put podigne, ta ce se aplikacija takodje pokrenuti, e sada na programeru je da odluci kako ce se ona pokrenuti, hoce li to biti normalni prikaz aplikacije, il' mozda ce imati samo system tray ikonicu, il' jednostavno nece imati nikakvu notifikaciju, vec ce imati tzv status SW_HIDE, gdje ce ona biti vidljiva jedino u procesima, al' nama u ovom slucaju sto je bitno je da je ona aktivna i da preko svog timera, koji svakih xx (minuta, sekundi il stotinki, zavisno koja nam preciznost treba), provjerava dali je lokalno vrijeme jednako zadatom vremenu, koje se imace uzima prilikom pokretanja aplikacije iz neke datoteke, il' ako je u toku rada doslo do promjene vremena, ona se direktno uzima u neku klasu koja ce da inace pamti zadato vrijeme.
 
Sucur:
E sada kada ti postavis registri zapis preko svog programa koji ce se naravno automatski unijeti u registri bazu prilikom pokretanja programa, znaci korisnik softvera nema nikakve veze sa tim, tj nece se petljati sa njenim upisom, ti imas i podizanje te aplikacije sa sistemom.
.....

al' nama u ovom slucaju sto je bitno je da je ona aktivna i da preko svog timera, koji svakih xx (minuta, sekundi il stotinki, zavisno koja nam preciznost treba), provjerava dali je lokalno vrijeme jednako zadatom vremenu, koje se imace uzima prilikom pokretanja aplikacije iz neke datoteke, il' ako je u toku rada doslo do promjene vremena, ona se direktno uzima u neku klasu koja ce da inace pamti zadato vrijeme.

Ma ovo za registry sam mislio upravo kada on piše program, da ne prčka previše sa tim funkcijama... ali svejedno...

A za ovo drugo zapravo postoji drugačije rešenje. Provera na xx jedinica vremena ipak bespotrebno troši vreme. Jeste da je sitno, ali opet...

Pravilnije bi bilo da prilikom startovanja ovog rezidentnog programa (posle podizanja sistema) se uzme trenutno vreme, izračuna period do željenog (ako ih ima više, prvog željenog trenutka), i postavi timer na taj period. Time se izbegava bespotrebna provera na svakih xx minuta, sati ili šta već.
 

Back
Top