Bilderhic is a smart and simple command tool for automatization.
You have to create a pipe file. Bilderhic will run the commands inside your file. The commands of the pipe file can be Bilderhic commands, or bash / cmd commands. Bilderhic includes usefull commands for edit files.
npm i -g bilderhic
Third party licenses:
- https://github.com/microsoft/tslib/blob/main/LICENSE.txt
- https://github.com/isaacs/node-glob/blob/main/LICENSE
- https://github.com/eemeli/yaml/blob/master/LICENSE
- https://github.com/ReactiveX/rxjs/blob/master/LICENSE.txt
bhic <file> [-vb or --verbose] [-d or --debug]
or
bhic [-vb or --verbose] [-d or --debug] [-c or --command] <single line command>
It allows you to create / load / edit environment variables (inside your process).
Set variable manually
env set <key> <value>
Set variable value (if the variable doesn't exists)
env set-default <key> <value>
Set variable from user input
env prompt <key> -m <message>
Adds a value to a numeric variable
env add <key> <value>
Load variables
env load <file.yml>
File.yml example
app:
id: com.brand.app
version: 2
description: This is an awesome Android Application.
name: Awesomapp
Usage of environment variables
env load File.yml
:open config.xml
- set widget.id=[app.id]
- set widget.android-versionCode=[app.version]
- set widget.version=0.0.[app.version]
- set widget>name=[app.name]
- set widget>description=[app.description]
- save
- close
Clear your environment
env clear
Change the debug mode
env debug <enable or disable>
Copies a file or a folder. Override the files if it exists.
copy <from> <to> [-i or --ignore <file or folder>] [-q or --quiet] [-e or --ignore-errors]
Synchronizes (mirror mode) two folders. Only writes the diferrences between the folders.
sync <source> <destination> [-i or --ignore <file or folder or wildcard>] [-q or --quiet] [-nd or --disable-delete]
Deletes a file o a folder (recursively) if exists.
del <file or folder>
DOC
cd
cd <folder>
cd --clear
cd --back
Writes a text to the configured loggers.
log [info | warn | debug | error | success] <text to log>
DOC
Renames a file o a folder.
ren <file or folder> <newName> [--skip-unexisting or -sk] [--overwrite or -o]
Parses a base-64 string.
base64 <text>
or
base64 <text> > <filename>
or
base64 <text> >> <environment variable>
base64 YmlsZGVyaGlj > mistery.txt
Reads a file and prints its content.
cat <filename>
or
cat <filename> > <filename>
or
cat <filename> >> <environment variable>
base64 YmlsZGVyaGlj > mistery.txt
Renames a file or a folder.
ren <origin> <target> [--overwrite or -w]
Stops the pipe or the process.
exit [pipe]
or
exit [<exit code>]
Waits until timer ends.
sleep <time (ms)>
Makes a console beep sound.
beep [times] [delay between beeps]
echo Beep!
beep
echo Beep! Beep!
beep 2
echo Beep! ... Beep! ... Beep!
beep 3 1000
Open a new pipe from a file
:pipe <file>
Open a new pipe from a line of code
:pipeline <code>
Open a new pipe from a list of folders or files
:each folder [recursive] [async [limit x]] [filter]
:each file [recursive] [filter]
Example 1
:each folder
:begin
echo [$currentFolder]
:end
Example 2
:each folder recursive
:begin
echo [$currentFolder]
:end
Example 3
:each folder recursive **/node_*
:begin
echo [$currentFolder]
:end
Example 4
:each folder **/node_*
:begin
echo [$currentFolder]
:end
Example 5
:each folder async
:begin
echo [$currentFolder]
:end
Example 6
:each folder async limit 5
:begin
echo [$currentFolder]
:end
Adds a logger instance.
:logger add <logger type> [logger name]
Logger types:
- File
Example:
:logger add file
- set file logs.txt
log Hello word!
Open a file editor
:open <file> [force a file format]
Example 1: Open a JSON file.
:open settings.json
- close
Example 2: Open a JSON file as a Text file.
:open settings.json txt
- close
Run javacript code and saves the result to $eval (environment variable).
:eval <code>
Example:
:eval +(new Date())
echo [$eval]
If condition
:if <conditions>
:if <conditions>
:begin
<instructions here>
:end
Wait for all async commands to finish.
:await
If you want to start an async command, you need to start it with a ~ character.
Example:
run echo This is a sync command
~run echo This is an async command
:await
It does nothing. It's useful for ensure that you are running a file on Bilderhic.
!bhic
or
!bilderhic
Text editors: TXT Object editors: XML, HTML, JSON
- append <text>
- set <line number> <text>
- replace <text> <replacement text>
- replaceone <text> <replacement text>
- replace:raw <text> <replacement text>
- replaceone:raw <text> <replacement text>
- save
- close
- add <key>=<value>
- set <selector> = <value or variable>
- get <selector> > <variableName>
- save
- close
bhic pipe.txt bhic -c echo Hi world! bhic pipe.txt --set myVariable=myCustomValue
Multiple line command
bhic -c echo Running :eol: sleep 5000 :eol: beep :eol: echo Run finished
Timestamp
bhic -c echo My timestamp is [timestamp]
Date
bhic -c echo Today is [date]
Date (custom format)
bhic -c echo Today is [date:YYYY-MM-DD]
Time
bhic -c echo The current time is [hour]
Time (custom format)
bhic -c echo The current time is [hour:HH.MM]