rubenchristoffer / mklinker Goto Github PK
View Code? Open in Web Editor NEWMklinker is a cross-platform console utility that let's you create multiple symbolic / junction / hard links at once based on a portable config file
License: MIT License
Mklinker is a cross-platform console utility that let's you create multiple symbolic / junction / hard links at once based on a portable config file
License: MIT License
Would work similar to addlinks
command, but instead of adding links it would remove them based on a regex pattern.
There needs to be a better validate command that takes into account if target file exists or if there are multiple config links with the same target.
Unit tests would be a good idea to better maintain the program.
Integrating a command line parser would be a good idea to keep the focus on the actual program features instead of the parser.
Here's an example of such a library: https://github.com/commandlineparser/commandline
Currently this is handled in Config class, but it should really be a class of its own.
Currently relative paths are resolved from the perspective of the working directory and not the actual config file. That can lead to trouble when specifying a config file that resides in a different directory than the working directory.
Here's an example of the problem:
Working directory is "/home/user".
Config file is "/home/user/config/config.linker"
If the config has a relative target path "./linkhere" and you run the command mklinker linkall --path /home/user/config/config.linker
, then the actual link will be created in "/home/user/linkhere" rather than "/home/user/config/linkhere".
Currently you can make links for folders, but you cannot make links for every single file within that folder.
Currently when you provide an absolute path when adding links it will keep the absolite path, but it would be a good idea to convert it to a relative path by default if possible.
This would simply be an option (--invert
/ -i
) that treats source path as target path and vice versa. The reason this is useful is because you might be in a situation where your target path already exists, but your source path does not (for example when re-installing operating system or any other backup situation).
Creating a custom path parser makes it possible to add custom syntax in addition to keeping it the same cross-platform.
Currently, variables are located in the actual config file. It would be nice to be able to override variable values (temporarily) by passing in an optional option called --override
/ -o
or something like that.
Could also be useful to add a feature where variable values are supposed to be added through reading console input as well.
Having a way to "scan" a folder and their sub-folders for existing symbolic links and adding them to config file would be a nice feature to implement. The command could be somehing like import
.
Add support for the "ln" command on UNIX-like systems like Linux and MacOS.
It would be nice to be able to have support for custom variables in addition to environmental variables so that you can benefit from more dynamic linking.
Currently the formatting of the list
command is not ideal and it would be nice to have the ability to create a nicely formatted table by adding a --table
/ -t
option.
It would be nice to have a command that displays the mklink command (the process call used to create the actual links on the system) in order to better be able to debug when command fails.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.