Initial commit
This commit is contained in:
86
README.md
Normal file
86
README.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# My personal tools
|
||||
|
||||
## cln
|
||||
**Create symbolic links given a custom set of commands**
|
||||
|
||||
Mainly created out of frustration of windows ""symbolic"" links
|
||||
This tool creates real symbolic links on any platform following the syntax of:
|
||||
`source,destination,force?`
|
||||
It respects existing files (be them real files or symbolic links)
|
||||
Unless force is set to *t* in which case only existing symbolic links are deleted (overwriten)
|
||||
Real files will never be deleted by this tool
|
||||
|
||||
The commands can be given by:
|
||||
- stdin
|
||||
- a file
|
||||
- command line arguments
|
||||
- a directory
|
||||
|
||||
Example:
|
||||
- stdin
|
||||
- `echo "this,that" | cln`
|
||||
- command line arguments
|
||||
- `sync this,that foo,bar "path containing spaces",baz`
|
||||
- files
|
||||
- `cln -f <file>`
|
||||
- directory
|
||||
- `cln -r <directory>`
|
||||
- This mode looks for "sync" files recursively within the given directory and executes commands in those sync files
|
||||
|
||||
Given its ability to read files for commands it can be used to manage a "standard" set of symbolic links
|
||||
|
||||
## fiter
|
||||
**Iterate over files and rename them incrementally**
|
||||
Example:
|
||||
Given
|
||||
```
|
||||
video1.mp4
|
||||
video2.mp4
|
||||
video3.mp4
|
||||
image1.png
|
||||
image2.png
|
||||
executable.exe
|
||||
```
|
||||
Running `fiter *` would result in:
|
||||
```
|
||||
00001.mp4
|
||||
00002.mp4
|
||||
00003.mp4
|
||||
00005.png
|
||||
00006.png
|
||||
00007.exe
|
||||
```
|
||||
The order is **not guranteed**
|
||||
|
||||
Running `fiter *.mp4` on the same folder would give:
|
||||
```
|
||||
00001.mp4
|
||||
00002.mp4
|
||||
00003.mp4
|
||||
image1.png
|
||||
image2.png
|
||||
executable.exe
|
||||
```
|
||||
|
||||
The tool will not delete any files by overwriting existing ones
|
||||
And thanks to that it will fail when running on files that have already been renamed by it
|
||||
For such scenarios use `fiter -f <glob>`
|
||||
*-f* renames all files to \<file\>.bak before renaming them back to their new iterative name
|
||||
This means that it can run on files that already have iterative names because none are being overwriten
|
||||
**It also means that, on failure, files are left as .bak**
|
||||
|
||||
## fmoditer
|
||||
**Iterate over files and rename them to their mod time**
|
||||
|
||||
Works pretty much the same way as *iter* with the exception of *-f* which is not supported by *fmoditer*
|
||||
|
||||
## vsclean
|
||||
**"clean" vscode recent projects by deleting non existing entries and adding new folders**
|
||||
|
||||
Reads given directories and adds all folders in directories to vscode's recent projects
|
||||
The idea is that all projects in a "projects" folder should be accessible to vscode
|
||||
Doing this manually requires opening every folder one by one
|
||||
|
||||
It also removes non existent entries from recent projects and recent files
|
||||
|
||||
##
|
1
cln.exe
Symbolic link
1
cln.exe
Symbolic link
@@ -0,0 +1 @@
|
||||
C:/Users/Administrator/Seafile/Projects-Go/GoProjects/synclib/main.exe
|
1
fiter.exe
Symbolic link
1
fiter.exe
Symbolic link
@@ -0,0 +1 @@
|
||||
C:/Users/Administrator/Seafile/Projects-Go/GoProjects/fiter/main.exe
|
1
fmoditer.exe
Symbolic link
1
fmoditer.exe
Symbolic link
@@ -0,0 +1 @@
|
||||
C:/Users/Administrator/Seafile/Projects-Go/GoProjects/fmoditer/main.exe
|
4
sync
Normal file
4
sync
Normal file
@@ -0,0 +1,4 @@
|
||||
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\fiter\main.exe",fiter.exe
|
||||
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\fmoditer\main.exe",fmoditer.exe
|
||||
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\project-scanner\main.exe",vsclean.exe
|
||||
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\synclib\main.exe",cln.exe
|
1
vsclean.exe
Symbolic link
1
vsclean.exe
Symbolic link
@@ -0,0 +1 @@
|
||||
C:/Users/Administrator/Seafile/Projects-Go/GoProjects/project-scanner/main.exe
|
Reference in New Issue
Block a user