******************************** ExecutIt v.1.0 by Adam J. Sycz ajs@webster-image.com Copyright (c)1996 Webster Image Middle Village, NY 11379 http://www.webster-image.com ******************************** ------------ REQUIREMENTS ------------ Need for such thing, Windows95, 486 or Pentium, it may or may not run on NT ---------------------- DISCLAIMER & LICENCING ---------------------- This program is provided absolutely free of any charge since most people don't pay for shareware anyway. However, even though I don't think ExecutIt is a candidate for commercial usage, do not redistribute this program as a part of anything that isn't completely free. If you want to distribute it, please use original ZIP file for that purpose or create one which contains ALL original files Executit.exe Executit Info.txt Sample Script.ei-script (*)ExecutIt is provided AS IS. User of this program assumes full responsibilty for anything that may happen as a result of using it. ------------ WHAT IT DOES ------------ Few things. 1). Executes multiple files 2). Plays Wave or system sounds 3). Displays messages 4). Enables/Disables Screen Saver 5). Changes desktop wallpaper 6). Reboots or shuts down the system I think that is just about it for now. ExecutIt was really written in few hours so it is completely unoptimized, I can't guarantee that it won't hang or kill your system though I had no problems with it and it works out beautifully. Personally I find it most useful as an extension to System Agent. Gives me ability to run a set of instructions, applications and so on without cluttering its schedule list. It is a quite primitive line-by-line processor that's all. ------------ INSTALLATION ------------ Simply copy Executit.exe to your WINDOWS directory. This way you will have no problems accessing it. ----------------------- MULTIPLE FILE EXECUTION ----------------------- The idea is quite simple really. Write a script, ExecutIt will read it and act on it. A script can be any ASCII file. You can run the script by using it as ExecutIt's parameter such as Executit.exe myscript.txt Script functions: [RUN] (full path if necessary) or NOARG :[RUN] set will execute program specified by . Calling it :using full path may be necessary. You can also start with :optional parameters such as document or options. Note that some programs :may require /option notation. If no parameters are to be used you MUST :specify NOARG. You can also open application in specific which can :either be NORMAL,MAXIMIZED, or MINIMIZED. :ExecutIt has no problem with long filenames. It will also execute :a shortcut. *Note that you can use executit.exe in [RUN] set to call itself with different parameters or scripts. This will not terminate or disturb one it is called from [DIRECTORY] : will be used for all [RUN] sets to follow until end or :next [DIRECTORY] set is specified. This way you can execute programs :by calling only their filenames providing that they are in the same :directory specified by [DELETE] -T :Deletes file(s) specified by . Multiple files can be declared :no wildcards (*.*) however are allowed. You can either explicitly specify :full path\filename or use [DIRECTORY] to set path and then only refer to :file by its name. List MUST be terminated by -T [MESSAGE] <Message text (100 chars per line max)> <Message text> CR <Message text> -T <ResponseStyle> <Type> :[MESSAGE] set will display a message on screen. <Title> is box title. :<Message Text> can be in myltiple lines. This way you can sort of design :its appearance. If you put CR between lines it will place a space between :corresponding lines. Multiple CR's are allowable. :You must terminate text by -T. :Primitive <ResponseStyle> is available YES_NO, OK_CANCEL or OK. :I'll get to responses later. <Type> may be: OK, EXCLAMATION, STOP, :INFORMATION, QUESTION or SYSTEM (which may be useful at times because :it stays on top of all windows untill OK pressed). If you use this set in :the middle of script, it will be halted til you close the message (press button). [PAUSE] <Seconds> :Script execution will be halted for specified amount of seconds. :It may be important if you want to ensure proper execution sequence :or whatever else you might think of [PLAY] <Sound> :[PLAY] set will play either WAV file specified by <Sound> (using full :path may be necessary) or a system sound. :For example you could specify <Sound> as : c:\windows\sounds\somesong.wav :or : SystemExit :In the second case ExecutIt will play the sound assigned as you Exit Windows sound [JUMP] label :[JUMP] set will cause ExecutIt to move pointer to label skipping instructions and sets :calling label is simply a string. Label itself however must be the :same string surrounded with [ and ] :For example: : [JUMP] : ComeHere : . : this will be skipped : . : [ComeHere] : [NEXT EXECUTED SET] [END] :Terminates the script execution. This command is required :at the end of the script. If you do not include it ExecutIt :will run forever. :[END] can also be placed anywhere else in the script which :may be useful in case of jumps or using message responses ------------------------------ MESSAGE BOX RESAPONSE HANDLING ------------------------------ If you define your <ResponseStyle> as OK_CANCEL or YES_NO you can control your script execution a bit. Simply declare labels as [BN OK] - for OK in OK_CANCEL message [BN CANCEL] - for CANCEL in OK_CANCEL message [BN YES] - for YES in YES_NO message [BN NO] - for NO in YES_NO message You will have to use [JUMP] set to skip a label if necessary. Note that proper <bn_XX> labels are necessary if OK_CANCEL or YES_NO style was chosen. for OK <ResponseStyle> no labels are necessary. Program just don't care. It is really simple concept. Sample syntax: [MESSAGE] Title Some text here -T QUESTION YES_NO [BN YES] [RUN] somethin.exe NOARG NORMAL [JUMP] qbox label [BN NO] [PLAY] song.wav [qbox label] [RUN] application.exe NOARG MINIMIZED [END] -------------------------------- RUNNING EXECUTIT WITH PARAMETERS -------------------------------- You can also run ExecutIt using parameters other than a script file. This could be useful if you just want to do a single task or call task from within a script itself. Do not use slashes for parameter specification Usage: ExecutIt.exe parameter PLAY <Sound> :Will play a sound specified by <Sound>. Just as in [PLAY] set it :can either be a WAV file or a System Sound REBOOT :Will reboot your machine. If there is a problem with priority :you may be asked by some application to confirm job or file saving SHUTDOWN :Will shutdown your machine. If there is a problem with priority :you may be asked by some application to confirm job or file saving SSOFF :Will disable Screen Saver. This change is not written to user :information data so if you restart your computer your Screen Saver :settings should go back to original ones. This is useful if you are :executing certain task, do nothing but have to watch the screen beyond :normal Screen Saver timeout. Turn it off. SSON <Minutes> :Will enable Screen Saver. Optionaly you may specify the delay :time in minutes otherwise it will activate Screen Saver settings :with original delay time. Screen Saver settings will go back to :original ones if Windows has been restarted. WALLP <BMP File> :Will change current wallpaper using BMP file specified by :<BMP File>. Using full path assignment may be necessary ? :About info box ------------ RESTRICTIONS ------------ None. ExecutIt runs silently. No screens come up, nothing to remind you of me or this little program. You won't even know it exists. If it runs into an error in script or parameter specs it will either ignore it or do unbelivably stupid things. Most likely however nothing will happen. There is no error control or messages poping up. Why? Nothing really bugs me more than messages I have to act on and my computer cannot deal with on its own. When I'm away sometimes for weeks my poor machine is working its butt off round the clock and there is nobody to push the damn button. Philosophy is: If it can't run it, fine, but dont bother me with it. -------------- LONG FILENAMES -------------- ExecutIt handles long filenames quite OK. If you specifying a directory name or file name within the script you don't have to bother with surrounding them with quotes you can simply use i.e. [DIRECTORY] c:\Program Files\Some Directory and it will now how to handle it. Same goes for specifying <program name> in [RUN] or <Sound> in [PLAY] sets. [RUN] set can also point to Shortcuts. So far I have had only problems with pointing to shortcuts which in turn point to directories only ------------- SCRIPT SYNTAX ------------- Set may not contain any line skips. In other words [RUN] myprog.exe NOARG NORMAL will mess up this set and myprog.exe may not execute or execute in some weird way To give you a quick idea of ExecutIt's script, I have enclosed a sample script for you to look at named "Sample Script.ei-script". ----------------- SCRIPT EXTENSIONS ----------------- No defaults. Anything goes. However it maybe a good idea to invent one. I use "*.ei-script" for all ExecutIt scripts so I can register it as a auto file and call just a script instead of executit.exe with script as parameter. This would be the procedure: 1). Open Explorer 2). Create an empty file called "First.ei-script" 3). Now right click on it and choose "Open with..." 4). Specify name in box as ExecutIt Script 5). Check "Always ... blah blah" box 6). Press "Other" button 7). Find executit.exe, select it and press OK Now whenever you doubleclick on any *.ei-script file it will be executed using ExecutIt. What if you want to edit it? Don't worry. Thought of this too. Maybe I should have provided an INF file to do it for you but I really didn't feel like it. :-) 1). Run REGEDIT.exe 2). Choose EDIT/Find 3). Type ei-script_auto_file 4). You want to look at KEYS only, so uncheck two other boxes 5). Press "Find Next" button 6). Expand ei-script_auto_file branch 7). Highlight "shell" branch (it will appear) 8). Click right-mouse, select New->Key 9). Name it "Edit script..." (no quotes) 10). Now expand shell and highlight "Edit script..." 11). Click right-mouse, select New->key 12). Name it "command" (no quotes) 13). Highlight "command" now 14). On right panel you will see only one entry "Defaul" 15). Double-click it 16). Type in "notepad.exe %1" (no quotes) 17). Press OK and close the registry 18). Now go back to explorer and right-click on a ei-script file. 19). Chose "Edit script..." to edit it with notepad. ---- BUGS ---- This application doesn't do much so it doesn't have many bugs. If you find something wrong with it you may let me know. Can't promise any fixes but who knows. ExecutIt is simply a result of boredom and having fun with the compiler and I have never intended to make it a decent application. It just does stuff. If you have a question or idea write to me at e-mail address provided.