TaskSculpta - A Windows task action automation tool with a difference.

Above is a screenshot of TaskSculpta.
TaskSculpta - Introduction
TaskSculpta is a tool I created some time ago to automate the release of my utilities to this website. I also use it for many other things. I've basically put the same user interface from my other recent new tool TaskFlexa.
TaskSculpta is kind of like a visual form of batch files that you can see the flow of the task actions. You don't need to learn and code just familiarize yourself with the Task Actions list.
This tool is perfect for technical and semi technical Windows users who want to automate processes, integration or just make regular tasks simpler. You do not need programming knowledge to use TaskSculpta but if you are a software, database or web developer you can use it in conjunction with Python or VBScripts. You can also use it to launch you're own console application and monitor the success of fail status of that application.
You can associate a related file or a URL to each task if you wish. The file or URL can then be opened from the selected task.
Multiple task scripts can be opened on separate tabs. The TaskSculpta files have a .TSA file extension.
To use TaskSculpta just create a local folder and put TaskSculpta into it. TaskSculpta is portable like my other tools so it does not require an installation and can therefore be put onto a memory stick to be use between machines.
What TaskSculpta can be used for...
- Creating software release scripts.
- Running console applications with parameters and capturing the output.
- Reading and editing text based files.
- Copying and managing files.
- Executing Python scripts, receiving return value and capturing the output.
- Executing VBScripts, receiving return value and capturing output.
- Making FTP connections and file transfers.
- Connection to databases using ADO and performing database operations.
- Connecting directly to SQLite Databases and performing database operations
- Executing CMD prompt commands and capturing the output.
- User prompts and information capture.
- Performing checks and getting system information.
- Systems integration and database migration.
TaskSculpta - Job Actions List
MessageBox- Shows a message box with text and or variableCreateVariable- Create a variable for use is most task action properties input and outputsCreateVarBatch- Create multiple variables in one action. It allows you to go back and add new variables easilyCreateListVariable- Create an empty list that can be populated by actionsDoesFileExist- Checks a specified file exists. Fails if it doesn't existFileCopy- Copies a specified file to a specified folderCreateZipFile- Create a specified Zip fileCreateFolder- Create a specified folderDoesFolderExist- Checks a specified folder exists. Fails if it does not exist.OpenFolder- Open specified folder in Windows ExplorerCopyFolder- Copies a specified folder to a specified path.FTPConnect- Make basic FTP Server ConnectionFTPChangeDir- Change remote FTP folder. Requires FTPConnect.FTPUpload- Upload file to FTP server. Requires FTPConnect.FTPDownload- Download file from FTP server. Requires FTPConnect.FTPDisconnect- Disconnect FTP server connection. Requires FTPConnect.InputVariable- Input value to variableExecuteProgram- Execute a specified program with parametersEditXMLFile- Edit a specified XML file branchOpenFileDialog- Open file dialog, returns filename to variableSelectFolderDialog- Select folder dialog, returns folder path to variableDeleteFile- Delete a specified fileYesOrNoBox- Yes or No dialog boxComment- Non action comment. Useful for putting in notes on the script.OutputMessage- Send a string or variable to the Output tabADOConnect- Make ADO database connectionADOTablesToList- ADO DB Table names to list variable. Requires ADOConnect.ADOSelectToList- ADO SQL Select result to list variable. Requires ADOConnect.ADOTableToCSV- ADO Table export to CSV File. Requires ADOConnect.AccessRepComp- Access database repair and compactADOUpdateSQL- ADO Update/Insert/Alter/Delete SQL Statements. Requires ADOConnect.PythonScript- Execute a Python Script with parameters and get resultVBScript- Execute a Visual Basic Script with parameters and get resultBeep- Audio sound alertClearOutput- Clear output windowOpenURL- Open a URL in the default web browserOpenFile- Open a file with it's associated applicationCreateTextFile- Creates a new text file in a specified folderSetVariable- Set variable valuePopulateList- Populate a specified list from a static list of stringsOutputList- Output list contents to the output panelOutVariables- Output created variablesGetDateTime- Get Date / Time using specified formatGetWinVer- Get Windows Version info to a variableGetFileVer- Get file version number to a variableGetUsername- Get User name to a variableGetCompName- Get Computer name to a variableInbetween- Get substring in between two string tagsSection- Set a section header that you can jump toJumpEqual- Jump to specified section if variable equals given valueTerminate- Terminate script at current location. This can be used to end a section after a jumpCMDCommand- Run CMD Prompt commands such as mkdir, ipconfig, set etcSendUDPText- Send text to a UDP port and IP AddressGetCPUCores- Gets the number of CPU Cores. This is needed as some software charge per core.INIGetValue- Get value from an item in a section of a specified INI FileListLoad- Load a text file into a list variableListSave- Save list variable content to a specified text fileListLinesReplace- Search and replace text tokens within lines in a list variableDirectory- Get list of files from a specified folder to a list variableINISetValue- Write a value to a section item in an INI file, Useful for persisting data outside of the scriptsSetUserEnvVar- Create and write a value to a User system environment variableGetUserEnvVar- Read a value from a User system environment variable and assign it to a script variableXMLGetValue- Get value from a specified branch in a XML fileSQLiteConnect- Connect and open an SQLite databaseSQliteTablesToList- Retrieve a list of tables from SQLite and put in a list variableSQLiteUpdate- Perform and Update/Insert/Delete SQL statement on an SQLite DatabaseSQLiteSelectToList- Perform an SQL select statement on an SQLite database and put the results in a list variable
Understanding TaskSculpta Scripts
The scripts are basically a list of actions with properties. They run from top to bottom naturally. From line 1 to whatever is your last line number. So you have to ensure they are in the correct order. When you add a new task action it will be added to the bottom of the list. So you need to add the items that need to be done before other items first.
For example you need to add FTPConnect before you add FTPUpload or ADOConnect before ADOUpdateSQL etc. You also need to add CreateVariable or CreateListVariable for you add any action that will use them in their properties.
If you do forget something that needs to run before your current actions you can always add it and then move it up. To move an item up - right click on it in the script list and select 'Move Up' this will move it one item up. Repeat until it's in the right place.
If the numbers become out of sync or duplicated select 'Renumber' from the main tool bar or from the same right click menu.
Tip.
If you are using lots of variables it's a good idea to use CreateVarBatch. This action allows you to create multiple variables in one line. So it should be the first item in your script.
For more informations on variables see Understanding Variables and Lists.
Understanding Variables and Lists
It's important to understand variables because they are the way information, settings and values are passed between different actions. Any software engineer, web developer or scientist should have not difficulty with the concept.

There are different types of variables used in TaskSculpta.
Standard Variables
Variables created using CreateVariable or CreateVarBatch are basic variant variables. They can be text or numbers.
To get information out of the variable it must be enclosed with the % symbols. IE %myvar%
For example in the MessageBox property you can specify text with a variable like this 'This is the inputted value: %myvar%'
List Variables
ListVariables are the same but it's a list of them as one variable. They are used specifically for actions that use lists.
Built in variable constants
TaskSculpta has it's own build in variables that a preset at run time, such as...
$Date$$Time$$DateTime$$MachineName$$ScriptPath$$ScriptFolder$$DayOfWeek$$DayOfWeekNo$$DayOfWeek$$Month$$Year$
These can be used in actions such as MessageBox IE 'The date is: $date$' or outputted to the Output tab for debugging.
More built in variables will be added in future releases
Note: Variables are not case sensitive so $DATE$ is the same as $date$
Important: Variables are created and destroyed during the running of the script. Values do not remain in the script for the next time they run. If you want to store a variable value you can save it to a file such as INI, XML or Text.
Windows User Variables
If you do want to store a value for next time or pass / share a variable value between mulitiple scripts you can use Window's User variables.
You can setup these variables in Windows via the following screen.
This screen can now also be reached via TaskSculpta's Tools menu.
The Window's User variables can get set and retrieved vai the following actions...
GetUserEnvVar and SetUserEnvVar
Because these variable values are store in Windows they can be passed to different scripts or used to persist values between script runs.
TaskSculpta does not currently support the Windows System Variables but this might change in future releases
If you have a particular variable requirement, let me know.
Feedback on TaskSculpta
This is the beta version of this new tool so expect bugs. If you do get an unexpected error message then contact me and I'll try and fix it as soon as possible. I also have lots of new features planned for this tool so if you would like to see a particular feature let me know so that I can prioritize it, if it's already on my list.
As TaskSculpta is a new tool I would appreciate feedback. Let me know if you get any unexpected errors or a feature doesn't work correctly. I've got lots of new task actions in progress for TaskSculpta so it would be good to here what kind of things would be useful. Just send an email. Contact