/OEPWS

A try to make a windows shell

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

#OEPWS

NOT LONGER WORKING ON THIS

Open simplE Python-based Windows Shell

A Windows 'shell' with its own simple syntax

Includes my pBTE custom text editor and my pySysBench CPU stability and benchmark tool

And if you write native windows commands "works".
Write # before the command and it will executed on the windows native cmd

Extra: if you type the name of an executable without the .exe, this shell will look for it and execute it with the commands provided via CLI


  alpha v0.1.71.0

  Minor revision

Includes third-party software: btop4windows (aristocratos), and speedtest


Requieres Python 3.12
UTF-8 support (requires the 'Beta: Use Unicode UTF-8 for worldwide language support' option in Windows Region Settings.)

Recomended to use with Windows Terminal, in the "import" directory there are a file named "WinTermADD.py" allowing you to install a profile in the Windows Terminal easily


Syntax:

Separators are "::", allowing to use all types of system accepted characters without limitation
Example copy test::Users\test2 from C:\ to D:\::E:\folder
and also you can use "from"/"in" to indicate where are the files/dir and "to" to indicate the destination

Using ";" like linux cli and when using ""+commands using "&"

loop variables
{separator}<varname>[operation(args)] command {text1<varname>text2}text3
it concatenates the output from the operation() with the separator
(if not specified, the default is "::") and combines each occurency with the text1 and text2
text3 is not affected because it isnt inside {}.
Current supported operations: ls, list, range, file
Example of use:
{\n}<var>[ls()] print {<var>}
Print every file inside the current path

Enviorment variables

$dir > refers to the actual directory
$ver > refers to the current version
$ + name > refers to the native enviorment variable from windows cmd


To run an file on the current dir you need to put .\ before the file name (you can use * and ? in the filename)

root
(+ su) starts command prompt as root
(+ command) runs command as root (NT authority System)


sudo
(+ su) starts command prompt as admin
(+ command) runs command as admin


sort(mode) file (in path)
Sorts by the mode the contents of the dir
Modes: mtime, ctime, size, alpha (alphabetical)

where file (in path)
prints when the file/dir was modified and created

flmgr
Terminal based file manager (FL)

perfmon
Terminal based performance monitor and task manager (btop4windows)

go dir (GO to dir)
Options back prev down
same as cd but only with absolute paths
go back
same as cd .. but you can use go back 4 that is the same as cd ..\..\..\..\
go prev
changes the path to the previous path
go down
It goes along the route backwards until you find the part with the same name as the argument
Example your are in C:\Users\test\Documents\folder\folder1\ and if you want to go directly to "test" you can use go down test and the result path will be C:\Users\test\
extra: with "go .\" the actual path changes to the location of the terminal files

cd dir
go to upper directory

downdir dir
you can go to any directory in the current path by putting only its name

write -flush to file [some text \n and other line]

flush file

new name
creates a new empty file or directorory
to create a file: new filename
to create a dir: new dirname\


no name
deletes a file or directory
to delete a file: no filename
to delete a dir: no dirname\


read file
prints the content of the especified file
Options:
readn (No counter) disables the line counter
readc (Concatenate) like linux cat command
Important: -f can be used with -n or -c no -n -c at the same time


ls dir

dirtree dir
makes a tree of the subdirs in a especific dir

cal this year month x
year x this month
year x month x
today
prints a calendar with the arguments

time
prints the hour

copy and move
copy fich from path to path path2

rmov name from path to newname
moves ONE file to ONE destination EACH like rmov 1 2 to 1 2 moves 1 to 1 and 2 to 2

edit file from path
edits the specified file with the nano editor

locate file/dir in path from
finds the specified file/dir in the path locatenr (not recursive version)

from file in path find hello
finds the word hello in the specified file

link/links lnkname in path to file in path
creates a shorcut (link) or a symbolic link (links)


size file
prints the size of the file

clear
clears the screen

app
starts the app (located on the C: program files folders)

ip
prints the ip config

repair
repairs the system
(sfc, dism.exe)

perfmon
cli based task manager

flushdns
clears the dns cache

kill proc
kills a process

calc
opens a cli calculator interface or returns the result of the args

dskperf -read -write -mode -drive C mode can be rand or seq

mp3 -file file.mp3
-pause -quit
whith no args:
"q" quit
"a" decrese
"s" increase
"w" pause/unpause
-vol 0-100
mp3 player

exit
exits the program

benchmk
cpu benchmark

stress
cpu stress test

weather City
shows the weather for the city

su user
starts command prompt as a user especified


adduser -sudo username
add a user, whith -sudo the created user will have admin permisions

deluser username
deletes a user

chmod
changes file/dir permisions (ACL) chmod [user1:r] for file ->
chmod set(optional) [username:permisions] for filename/folder

chown username for file
changes the owner of a file

lsacl file
list the acl for a file

eject disk
Unmounts the disc for safe extraction

print/printf text
prints in the terminal "text"
if printf, it will not use scaped chars like \r

mem
prints the total/used/free physical memory <br