ZenitH-AT / nvidia-update

Checks for a new version of the NVIDIA driver, downloads and installs it.
MIT License
56 stars 8 forks source link

[Feature Request] Support for NanaZip. #12

Open ScottVordem opened 1 year ago

ScottVordem commented 1 year ago

NanaZip is literally exactly the same as 7-Zip, but a much more modern implementation of it. Especially on Windows 11. Whatever 7-Zip can do, NanaZip can do also which is why I think NanaZip should work fine with your Driver Updater.

It isn't an exe like 7-zip, but instead a MSIX package, so I am not sure if that matters or not.

ZenitH-AT commented 1 year ago

I'll look into this on the weekend when I have a bit of time. If it supports the same commandline args then it should be a few minutes to implement.

Sorry I haven't go to this yet. Life has been really busy.

ElPumpo commented 4 months ago

Impossible. NanaZip does not have CLI / does not expose anything we can use

ScottVordem commented 4 months ago

Impossible. NanaZip does not have CLI / does not expose anything we can use

Yes it does, you type NanaZipC or NanaZipG in the terminal/console (all lowercase works also). It is not documented for some reason but that is the CLI. Those work the exact same as the 7zip equivalent.

ElPumpo commented 4 months ago

You're correct.. yea why isn't this documented wtf.

NanaZipC ``` NanaZip 2.0 (x64) : (c) M2-Team and Contributors. All rights reserved. Usage: NanaZipConsole [...] [...] [@listfile] a : Add files to archive b : Benchmark d : Delete files from archive e : Extract files from archive (without using directory names) h : Calculate hash values for files i : Show information about supported formats l : List contents of archive rn : Rename files in archive t : Test integrity of archive u : Update files to archive x : eXtract files with full paths -- : Stop switches and @listfile parsing -ai[r[-|0]]{@listfile|!wildcard} : Include archives -ax[r[-|0]]{@listfile|!wildcard} : eXclude archives -ao{a|s|t|u} : set Overwrite mode -an : disable archive_name field -bb[0-3] : set output log level -bd : disable progress indicator -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line -bt : show execution time statistics -i[r[-|0]]{@listfile|!wildcard} : Include filenames -m{Parameters} : set compression Method -mmt[N] : set number of CPU threads -mx[N] : set compression level: -mx1 (fastest) ... -mx9 (ultra) -o{Directory} : set Output directory -p{Password} : set Password -r[-|0] : Recurse subdirectories for name search -sa{a|e|s} : set Archive name mode -scc{UTF-8|WIN|DOS} : set charset for for console input/output -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files -scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands -sdel : delete files after compression -seml[.] : send archive by email -sfx[{name}] : Create SFX archive -si[{name}] : read data from stdin -slp : set Large Pages mode -slt : show technical information for l (List) command -snh : store hard links as links -snl : store symbolic links as links -sni : store NT security information -sns[-] : store NTFS alternate streams -so : write data to stdout -spd : disable wildcard matching for file names -spe : eliminate duplication of root folder for extract command -spf : use fully qualified file paths -ssc[-] : set sensitive case mode -sse : stop archive creating, if it can't open some input file -ssp : do not change Last Access Time of source files while archiving -ssw : compress shared files -stl : set archive timestamp from the most recently modified file -stm{HexMask} : set CPU thread affinity mask (hexadecimal number) -stx{Type} : exclude archive type -t{Type} : Set type of archive -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options -v{Size}[b|k|m|g] : Create volumes -w[{path}] : assign Work directory. Empty path means a temporary directory -x[r[-|0]]{@listfile|!wildcard} : eXclude filenames -y : assume Yes on all queries ```

Example of impl: https://github.com/ElPumpo/TinyNvidiaUpdateChecker/commit/54322d0ef1ee21b2396b10b524e2bea646dc49bd