Skip to content

Commit 72f6a32

Browse files
authored
Made a setup
1 parent 3eaee32 commit 72f6a32

File tree

9 files changed

+1309
-71
lines changed

9 files changed

+1309
-71
lines changed

English.bat

Lines changed: 574 additions & 0 deletions
Large diffs are not rendered by default.

Italian.bat

Lines changed: 580 additions & 0 deletions
Large diffs are not rendered by default.

LICENSE

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
MIT License
2-
3-
Copyright (c) 2026 Andrea
4-
5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
11-
12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
14-
15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
1+
MIT License
2+
3+
Copyright (c) 2026 Andrea
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 40 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,40 @@
1-
<a href="https://github.com/Andrex189234/Compact-Shell/issues">
2-
<img alt="Issues" src="https://img.shields.io/github/issues/Andrex189234/Compact-Shell?color=0088ff" />
3-
</a>
4-
<a href="https://github.com/Andrex189234/Compact-Shell/pulls">
5-
<img alt="GitHub pull requests" src="https://img.shields.io/github/issues-pr/Andrex189234/Compact-Shell?color=0088ff" />
6-
</a>
7-
8-
# CompactShell
9-
10-
**CompactShell** is an advanced shell built in **Windows batch**, featuring Linux-like functionality, a package manager, multi-user login, and a plugin system.
11-
12-
---
13-
14-
## Key Features
15-
16-
* **Multi-user login** with `users.cfg`
17-
* **Dynamic prompt** `[user@pc cwd]$`
18-
* **Package management** with Winget:
19-
20-
* `pkg install <name>`
21-
* `pkg uninstall <name>`
22-
* `pkg search <name>`
23-
* `pkg upgrade <name|all>`
24-
* `pkg update all` (alias for upgrade all)
25-
* **Universal exec**: run files in the current or specified directory
26-
* **Custom aliases** (`shell.cfg`)
27-
* **Command history and autocompletion**
28-
* **Plugin system** (`commands.d`)
29-
* Optional **kiosk / lock shell mode**
30-
* System commands: `reboot`, `shutdown`, `sleep`, `notify`, `logout`, `reopen`
31-
32-
---
33-
34-
## Installation
35-
36-
1. Clone the repository:
37-
38-
```bash
39-
git clone https://github.com/Andrex189234/Compact-Shell.git
40-
```
41-
42-
2. Create a folder named "Starting" in your Documents and paste all file
43-
3. (Optional) Add to PATH to run the shell from any terminal:
44-
4. Run shell.bat
45-
5. Log with guest (password:guest)
46-
6. Create a new user in user.cfg (user=password)
47-
1+
<a href="https://github.com/Andrex189234/Compact-Shell/issues">
2+
<img alt="Issues" src="https://img.shields.io/github/issues/Andrex189234/Compact-Shell?color=0088ff" />
3+
</a>
4+
<a href="https://github.com/Andrex189234/Compact-Shell/pulls">
5+
<img alt="GitHub pull requests" src="https://img.shields.io/github/issues-pr/Andrex189234/Compact-Shell?color=0088ff" />
6+
</a>
7+
8+
# CompactShell
9+
10+
**CompactShell** is an advanced shell built in **Windows batch**, featuring Linux-like functionality, a package manager, multi-user login, and a plugin system.
11+
12+
---
13+
14+
## Key Features
15+
16+
* **Multi-user login** with `users.cfg`
17+
* **Dynamic prompt** `[user@pc cwd]$`
18+
* **Package management** with Winget:
19+
20+
* `pkg install <name>`
21+
* `pkg uninstall <name>`
22+
* `pkg search <name>`
23+
* `pkg upgrade <name|all>`
24+
* `pkg update all` (alias for upgrade all)
25+
* **Universal exec**: run files in the current or specified directory
26+
* **Custom aliases** (`shell.cfg`)
27+
* **Command history and autocompletion**
28+
* **Plugin system** (`commands.d`)
29+
* Optional **kiosk / lock shell mode**
30+
* System commands: `reboot`, `shutdown`, `sleep`, `notify`, `logout`, `reopen`
31+
32+
---
33+
34+
## Installation
35+
36+
1. Download the file "setupgit.bat"
37+
38+
2. Run the file
39+
40+
3. Follow the instruction

Run With Select language.bat

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
@echo off
2+
echo Starting compact shell...
3+
4+
set /p cmd=Do you want to change settings? (yes/no):
5+
if /i "%cmd%"=="yes" goto NON_START
6+
if /i "%cmd%"=="no" goto START
7+
if /i "%cmd%"=="y" goto NON_START
8+
if /i "%cmd%"=="n" goto START
9+
10+
:START
11+
set /p cmd=Select language (it/en):
12+
if /i "%cmd%"=="it" goto ITALIAN
13+
if /i "%cmd%"=="en" goto ENGLISH
14+
15+
16+
:ITALIAN
17+
cls
18+
call "C:\Users\andre\Documents\Starting\CompactShell_it.bat"
19+
goto :eof
20+
21+
:ENGLISH
22+
cls
23+
call "C:\Users\andre\Documents\Starting\CompactShell_en.bat"
24+
goto :eof
25+
26+
:NON_START
27+
explorer C:\Users\%USERNAME%\Documents\Starting
28+
echo if you get an error create a directory on the Documents called "Starting" and move these file

Setup.bat

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
@echo off
2+
echo Welcome to the setup of the Compact Shell!
3+
set /p cmd=Select your language (it/en):
4+
if /i "%cmd%"=="it" goto ITALIAN
5+
if /i "%cmd%"=="en" goto ENGLISH
6+
7+
:ITALIAN
8+
echo Hai selezionato la lingua italiana.
9+
echo.
10+
echo Il programma creerà ora un collegamento sul desktop. Attendere prego...
11+
copy "Italian.bat" "%USERPROFILE%\Desktop\Compact Shell - Italian.bat"
12+
echo.
13+
echo L'utente predefinito e "guest" e la password predefinita e "guest". Puoi modificare queste credenziali nel file "users.cfg" che si trova nella stessa directory di questo script di installazione.
14+
echo Per creare un nuovo utente, aggiungi semplicemente una nuova riga nel file "users.cfg" con il formato "username=password". Ad esempio, per creare un utente chiamato "admin" con password "admin123", dovresti aggiungere la riga "admin=admin123" al file.
15+
notepad "users.cfg"
16+
set /p launch=Do you want to launch the Compact Shell? (y/n):
17+
if /i "%launch%"=="y" start "" "Italian.bat"
18+
if /i "%launch%"=="n" exit
19+
20+
:ENGLISH
21+
echo You selected English.
22+
echo The program will now create a shortcut on your desktop. Please wait...
23+
copy "English.bat" "%USERPROFILE%\Desktop\Compact Shell - English.bat"
24+
echo The default user is "guest" and the default password is "guest". You can change these credentials in the "users.cfg" file located in the same directory as this setup script.
25+
echo To create a new user, simply add a new line in the "users.cfg" file with the format "username=password". For example, to create a user named "admin" with the password "admin123", you would add the line "admin=admin123" to the file.
26+
notepad "users.cfg"
27+
set /p launch=Do you want to launch the Compact Shell? (y/n):
28+
if /i "%launch%"=="y" start "" "English.bat"
29+
if /i "%launch%"=="n" exit

setupgit.bat

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@echo off
2+
echo Welcome to the setup of the Compact Shell!
3+
set /p cmd=Select your language (it/en):
4+
if /i "%cmd%"=="it" goto ITALIAN
5+
if /i "%cmd%"=="en" goto ENGLISH
6+
7+
:ITALIAN
8+
echo Hai selezionato la lingua italiana.
9+
echo.
10+
echo Il programma clonera ora il repository GitHub del Compact Shell. Attendere prego...
11+
git clone https://github.com/Andrex189234/Compact-Shell.git C:\Users\%USERNAME%\Documents\Starting2
12+
echo.
13+
echo Il programma creerà ora un collegamento sul desktop. Attendere prego...
14+
copy "C:\Users\%USERNAME%\Documents\Starting2\Italian.bat" "%USERPROFILE%\Desktop\Compact Shell - Italian.bat"
15+
echo.
16+
echo L'utente predefinito e "guest" e la password predefinita e "guest". Puoi modificare queste credenziali nel file "users.cfg" che si trova nella stessa directory di questo script di installazione.
17+
echo Per creare un nuovo utente, aggiungi semplicemente una nuova riga nel file "users.cfg" con il formato "username=password". Ad esempio, per creare un utente chiamato "admin" con password "admin123", dovresti aggiungere la riga "admin=admin123" al file.
18+
notepad "users.cfg"
19+
set /p launch=Do you want to launch the Compact Shell? (y/n):
20+
if /i "%launch%"=="y" start "" "C:\Users\%USERNAME%\Documents\Starting2\Italian.bat"
21+
if /i "%launch%"=="n" exit
22+
23+
:ENGLISH
24+
echo You selected English.
25+
echo The program will now clone the Compact Shell GitHub repository. Please wait...
26+
git clone https://github.com/Andrex189234/Compact-Shell.git C:\Users\%USERNAME%\Documents\Starting
27+
echo The program will now create a shortcut on your desktop. Please wait...
28+
copy "C:\Users\%USERNAME%\Documents\Starting2\English.bat" "%USERPROFILE%\Desktop\Compact Shell - English.bat"
29+
echo The default user is "guest" and the default password is "guest". You can change these credentials in the "users.cfg" file located in the same directory as this setup script.
30+
echo To create a new user, simply add a new line in the "users.cfg" file with the format "username=password". For example, to create a user named "admin" with the password "admin123", you would add the line "admin=admin123" to the file.
31+
notepad "users.cfg"
32+
set /p launch=Do you want to launch the Compact Shell? (y/n):
33+
if /i "%launch%"=="y" start "" "C:\Users\%USERNAME%\Documents\Starting2\English.bat"
34+
if /i "%launch%"=="n" exit

shell.cfg

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@ alias st=steam
55
alias ep=epic
66
alias vmw=vm
77
alias cls=clear
8-
alias ll=dir /w
9-
password=2012
8+
alias ll=dir /w

users.cfg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# formattazione: username=password
2-
guest=guest
2+
guest=guest
3+
andrea=2012

0 commit comments

Comments
 (0)