<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: lia</title>
    <description>The latest articles on Forem by lia (@liathyr).</description>
    <link>https://forem.com/liathyr</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F976001%2F303316d3-38f9-448a-ac74-7edc5edde180.jpg</url>
      <title>Forem: lia</title>
      <link>https://forem.com/liathyr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/liathyr"/>
    <language>en</language>
    <item>
      <title>How to encode files preserving folder hierarchy</title>
      <dc:creator>lia</dc:creator>
      <pubDate>Wed, 30 Nov 2022 17:35:52 +0000</pubDate>
      <link>https://forem.com/liathyr/how-to-encode-files-preserving-folder-hierarchy-4phi</link>
      <guid>https://forem.com/liathyr/how-to-encode-files-preserving-folder-hierarchy-4phi</guid>
      <description>&lt;p&gt;Using the Handbrake GUI can be amazing to encode all types of files, but it's hard to encode files inside their own original folders. You need to manually change the output path one by one.&lt;/p&gt;

&lt;p&gt;So, this post will feature a CLI (command line interface) which uses the Handbrake CLI executable to encode all files inside a particular folder, preserving all folder hierarchy!&lt;/p&gt;

&lt;p&gt;The main purpose of this CLI was to reduce files' sizes to occupy the least amount of space in the disk, but with the custom command feature, any Handbrake command can be used only requiring specific placeholders regarding the original file path and the encoded file path.&lt;/p&gt;

&lt;p&gt;This CLI tool will also create a final output file containing statistics about the files encoded, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;which files were encoded successfully and not successfully;&lt;/li&gt;
&lt;li&gt;number of files encoded successfully and not successfully;&lt;/li&gt;
&lt;li&gt;original file size;&lt;/li&gt;
&lt;li&gt;encoded file size.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Installing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You will need Python installed. You can do that &lt;a href="https://www.python.org/downloads/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For this CLI to work, the HandBrake CLI version must be installed. This installation can be found in &lt;a href="https://handbrake.fr/downloads.php" rel="noopener noreferrer"&gt;this link&lt;/a&gt; under 'Downloads-&amp;gt;Other-&amp;gt;Command Line Version'&lt;/p&gt;

&lt;p&gt;The CLI can be downloaded from &lt;a href="https://pypi.org/project/havc/" rel="noopener noreferrer"&gt;here&lt;/a&gt; and the GitHub repository can be found &lt;a href="https://github.com/zaytiri/handbrake-recursive-folder-video-converter" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install havc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if the program was successfully installed, you can run the following command in the console:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc -h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;How to&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For anymore information please have a look at &lt;a href="https://github.com/zaytiri/handbrake-recursive-folder-video-converter/blob/main/README.md" rel="noopener noreferrer"&gt;this&lt;/a&gt; file.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Configuration
&lt;/h3&gt;

&lt;p&gt;Initially, you will have to configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(-r) where your Handbrake CLI executable is located;&lt;/li&gt;
&lt;li&gt;(-c) the folder which contains files to encode&lt;/li&gt;
&lt;li&gt;(-e) as many file extensions you want to be encoded into another extension;&lt;/li&gt;
&lt;li&gt;(-t) the target extension.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc -r "C:\Users\&amp;lt;username&amp;gt;\Desktop\HandBrakeCLI.exe" -c "C:\Users\&amp;lt;username&amp;gt;\Desktop\folder to convert" -e mp4 mkv -t m4v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Important&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Note that the target extension cannot be the same as any extension searched for.&lt;/p&gt;

&lt;p&gt;After this, an external configuration file will be configured and then the following command becomes valid (always using the saved configurations):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means that instead of always changing the folder to convert, you can have a specific folder for this purpose and then you don't have to reconfigure (at least the folder).&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Update configuration
&lt;/h3&gt;

&lt;p&gt;If any argument has to be modified just run the command with the necessary argument.&lt;br&gt;
For instance, if the extensions to search for have to be modified, you simply run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc -e mov .avi mp4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Original Files
&lt;/h3&gt;

&lt;p&gt;All original files will be moved to a different folder called 'TO-DELETE' by default. This name can also be change for something else by doing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc -d 'AnotherNameForFolder'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This folder will contain all the original files, and it's main purpose is to save all those files just in case any encoding goes wrong.&lt;br&gt;
If you think everything's OK then this folder can be deleted.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Custom Handbrake command
&lt;/h3&gt;

&lt;p&gt;By default, this CLI will run the following basic HandBrake CLI command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HandBrakeCLI.exe --preset Very Fast 1080p30 -i "C:\Users\&amp;lt;username&amp;gt;\Desktop\original-file\originalFile" -o "C:\Users\&amp;lt;username&amp;gt;\Desktop\output-file\outputFile"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But you can also input a custom command using specific placeholders replacing both the original file and the output file, like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc -cc "--preset Fast 720p30 -i {of} -o {cf}"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;'of' stands for 'original file';&lt;/li&gt;
&lt;li&gt;'cf' stands for 'converted file'.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inside the program, {of} and {cf} will be replaced for the path of each file encountered in the configured folder. Then those files will be encoded to the target extension configured.&lt;/p&gt;

&lt;p&gt;This custom command is saved until you replace it for another command or setting this feature to 'off':&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc -cc "off"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If 'off', the default command will be used.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Safety question
&lt;/h3&gt;

&lt;p&gt;If you don't want to be bothered with the safety question and are certain the folder is the correct one to modify, you can also disable this feature by:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc --no-safety-question
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will get saved, so be careful when modifying the folder to convert.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Shutdown computer when finished
&lt;/h3&gt;

&lt;p&gt;If you have a long list of files to convert, you can always enable the shutdown feature which will shutdown your computer when all files were converted.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;havc --shutdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will get saved, so be careful not to shutdown your computer by mistake. At the beginning of the encoding, the program will give a warning that the computer will be shutdown in the end.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I'm fully available to implement new features, fixing bugs and improve anything. Just comment here or open an issue in the GitHub repository. &lt;br&gt;
Any suggestions I'm more than glad to consider them.&lt;br&gt;
Any feedback is &lt;strong&gt;&lt;em&gt;really&lt;/em&gt;&lt;/strong&gt; appreciated.&lt;/p&gt;

&lt;p&gt;For anymore information please have a look at &lt;a href="https://github.com/zaytiri/handbrake-recursive-folder-video-converter/blob/main/README.md" rel="noopener noreferrer"&gt;this&lt;/a&gt; file.&lt;/p&gt;

&lt;p&gt;The CLI can be downloaded from &lt;a href="https://pypi.org/project/havc/" rel="noopener noreferrer"&gt;here&lt;/a&gt; and the GitHub repository can be found &lt;a href="https://github.com/zaytiri/handbrake-recursive-folder-video-converter" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading :D&lt;/p&gt;

</description>
      <category>welcome</category>
    </item>
    <item>
      <title>How to schedule any file type to open at computer startup</title>
      <dc:creator>lia</dc:creator>
      <pubDate>Mon, 28 Nov 2022 14:38:30 +0000</pubDate>
      <link>https://forem.com/liathyr/how-to-schedule-any-file-type-to-open-at-computer-startup-16k8</link>
      <guid>https://forem.com/liathyr/how-to-schedule-any-file-type-to-open-at-computer-startup-16k8</guid>
      <description>&lt;p&gt;So, how about schedule certain programs or files to open first thing when your computer boots up? Or maybe you want them to open at a specific time of the day?&lt;/p&gt;

&lt;p&gt;Maybe you work remotely and need certain programs, folders or files to open when you start your computer while you can do your morning routine. If so, then this post will feature a program which will (hopefully) help you with that!&lt;/p&gt;

&lt;p&gt;That was my problem! I did not like having to use Windows startup feature because it did not let me open programs at specific days. Even the Windows Task Scheduler was not simple enough and did not let me schedule programs at certain days and at startup in the same configuration. I hated having to close all my work programs manually on weekends.&lt;/p&gt;

&lt;p&gt;So, I developed a command line interface (CLI) to do that exact task: schedule programs, folders or files (anything really) at startup but also at specific days.&lt;/p&gt;

&lt;p&gt;Now, I'm a changed person and can finally have my work programs open at startup only on week days and forget about work completely (without reminders) on weekends.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Installing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You will need Python installed. You can do that &lt;a href="https://www.python.org/downloads/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The CLI can be downloaded from &lt;a href="https://pypi.org/project/progscheduler/"&gt;here&lt;/a&gt; and the GitHub repository can be found &lt;a href="https://github.com/zaytiri/program-scheduler"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install progscheduler
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if the program was successfully installed, you can run the following command in the console:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;progscheduler -h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;How to&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For anymore information please have a look at &lt;a href="https://github.com/zaytiri/program-scheduler/blob/main/README.md"&gt;this&lt;/a&gt; file.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Startup feature
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Windows users
&lt;/h4&gt;

&lt;p&gt;This program does not actually have the ability to start running automatically by itself when the computer boots up yet, so you have to copy the contents of this file right &lt;a href="https://github.com/zaytiri/program-scheduler/blob/main/program-scheduler.bat"&gt;here&lt;/a&gt; (available on the GitHub repository) and paste them to a notepad on your computer. Don't forget to save the file with the .bat extension.&lt;br&gt;
The purpose of the file is run the progscheduler program. So this needs to be in the following folder path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What this step does is to make Windows run all the files in this folder when it boots up (at startup).&lt;/p&gt;

&lt;h4&gt;
  
  
  Linux users
&lt;/h4&gt;

&lt;p&gt;I don't own a Linux environment so this section will have to wait until I make sure I know how to explain this.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;
After this step, you should be able to boot up your computer and the program will run automatically.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Usage
&lt;/h3&gt;

&lt;p&gt;For now, when the computer boots up, the program will not do anything. This is because we did not schedule anything yet.&lt;br&gt;
To do this, you need to open a command prompt to start using the CLI.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h4&gt;
  
  
  Commands
&lt;/h4&gt;

&lt;p&gt;When configuring you will need the following information about a program, folder or file:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;path to program, folder or file;&lt;/li&gt;
&lt;li&gt;desired name to describe this program, folder or file;&lt;/li&gt;
&lt;li&gt;days to open;&lt;/li&gt;
&lt;li&gt;time of the day to open;
&lt;code&gt;&lt;/code&gt;
##### Path
The path can be the absolute path of an executable, a folder, a file, etc. If it's a program or a file, the path must include the extension.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;IMPORTANT&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
If you want an executable to be schedule, some programs will not work with the original file path and it needs to be the path for a shortcut of that executable.&lt;br&gt;
To use a shortcut, the extension of that file must be .lnk.&lt;/p&gt;

&lt;p&gt;For instance, a path for a shortcut executable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or a path for a folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\&amp;lt;username&amp;gt;\Desktop\folder to open
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or a path for a file,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\&amp;lt;username&amp;gt;\Desktop\text file to open.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;

&lt;h5&gt;
  
  
  Alias
&lt;/h5&gt;

&lt;p&gt;The alias is a name which will describe the file to be scheduled and it will be used for update the scheduling if needed in the future.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h5&gt;
  
  
  Days
&lt;/h5&gt;

&lt;p&gt;The days will be the days in which you want something to be opened. It can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;some specific days: monday, wednesday&lt;/li&gt;
&lt;li&gt;everyday: monday, tuesday, wednesday, thursday, friday, saturday, sunday&lt;/li&gt;
&lt;li&gt;weekdays: monday, tuesday, wednesday, thursday, friday&lt;/li&gt;
&lt;li&gt;weekends: saturday, sunday&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h5&gt;
  
  
  Time
&lt;/h5&gt;

&lt;p&gt;The time can be at startup, in this case you don't have to specify anything because this is the default. Can also be a specific time of the day: 10:27.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;
The commands are available in the &lt;a href="https://github.com/zaytiri/program-scheduler/blob/main/README.md"&gt;README.md&lt;/a&gt; file in the GitHub repository.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h4&gt;
  
  
  Create/Configure a schedule
&lt;/h4&gt;

&lt;p&gt;If you want to schedule Paint to open only at week days at startup then the following command should work:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;progscheduler -a paint -e "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk" -d weekdays
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mlcn33fJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0umrprtd1zuiz120pbgy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mlcn33fJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0umrprtd1zuiz120pbgy.png" alt="create schedule at startup" width="880" height="175"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the other hand, if you want to schedule Paint to open only on weekends and at 15:05, the following command should also work:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;progscheduler -a paint -e "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk" -d weekends -t "15:05"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nuhktpfM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/13uep9gpqjs8wtz57aoj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nuhktpfM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/13uep9gpqjs8wtz57aoj.png" alt="create schedule with specific time" width="880" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, if you want to change Paint to open only on Mondays at startup then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;progscheduler -a paint -d monday -t "at startup"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pia1wpab--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgsc5i4x7mcqighfg0kg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pia1wpab--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgsc5i4x7mcqighfg0kg.png" alt="configuration of a schedule" width="880" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note the alias is required when creating or modifying a schedule. An alias needs to be unique, because if not, it can configure the wrong configuration or create a non-sense configuration.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h4&gt;
  
  
  Scheduling in action
&lt;/h4&gt;

&lt;p&gt;After we added a schedule and the next time the computer boots up, the program will run automatically and Paint will be opened.&lt;br&gt;
The following image shows that a command prompt will be opened at startup and start running all schedules created.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QCwRQE_g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gkg4ypeomixzanne8ex2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QCwRQE_g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gkg4ypeomixzanne8ex2.png" alt="scheduling in action" width="880" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If a specific time has been set, then the image does not change much, it will be running and when the specified time comes, the program will be opened and showed and this command prompt.&lt;/p&gt;

&lt;p&gt;Upon closing this command prompt window, the program will not run anymore schedules so only close it when you know there's no files to be opened.&lt;br&gt;
If closed, the next time the program will start running is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;if the computer boots up;&lt;/li&gt;
&lt;li&gt;if you run manually the program-scheduler.bat;&lt;/li&gt;
&lt;li&gt;if you run the command 'progscheduler' in a command prompt.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h3&gt;
  
  
  Other features
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;  &lt;/p&gt;
&lt;h4&gt;
  
  
  Delete a configuration
&lt;/h4&gt;

&lt;p&gt;A configuration can also be deleted by the alias by simply typing in the command prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;progscheduler -del paint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;Future features&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Currently the program only opens any type of file, in the future, other options can be added by user request.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I'm fully available to implement new features, fixing bugs and improve anything. Just comment here or open an issue in the GitHub repository. &lt;br&gt;
Any suggestions I'm more than glad to consider them.&lt;br&gt;
Any feedback is &lt;strong&gt;&lt;em&gt;really&lt;/em&gt;&lt;/strong&gt; appreciated.&lt;/p&gt;

&lt;p&gt;For anymore information please have a look at &lt;a href="https://github.com/zaytiri/program-scheduler/blob/main/README.md"&gt;this&lt;/a&gt; file.&lt;/p&gt;

&lt;p&gt;The CLI can be downloaded from &lt;a href="https://pypi.org/project/progscheduler/"&gt;here&lt;/a&gt; and the GitHub repository can be found &lt;a href="https://github.com/zaytiri/program-scheduler"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;
Thanks for reading :D&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>opensource</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
