Giter VIP home page Giter VIP logo

Comments (9)

fcorbelli avatar fcorbelli commented on September 17, 2024

Thank for the question
I will answer tomorrow (I am now working on zpaqfranz over socket)

from zpaqfranz.

fcorbelli avatar fcorbelli commented on September 17, 2024

You can use multiple -not

zpaqfranz a z:\1.zpaq c:\Documents -not C:\Documents\Department1\Fred\Archive -not C:\Documents\Department2\George\Archive

notfiles is a vector, not a string

vector<string> notfiles;  			// list of prefixes to exclude

from zpaqfranz.

Erol-2022 avatar Erol-2022 commented on September 17, 2024

Hello,

Thanks, your configuration works fine but what if I have a lot user profiles in my folder C:\Documents?. I would need to specify a lot of exclusions in the command prompt using multiple -not statements.

from zpaqfranz.

fcorbelli avatar fcorbelli commented on September 17, 2024

Write exaclty what kind of exclusions you want and I will implement

from zpaqfranz.

Erol-2022 avatar Erol-2022 commented on September 17, 2024

Hello,

Thanks again for your support.

I guess it would be interesting to implement the -maxdepth option provided by the UNIX\Linux command find :

find . -maxdepth 1 -type d ......

zpaqfranz.exe a backup c:\Documents -not C:\Documents\ * \ * \Archive -maxdepth 1

from zpaqfranz.

fcorbelli avatar fcorbelli commented on September 17, 2024

After studying the situation, I'm not very supportive

The recursive function used (ispath ()) is used in many places in the source, in particular it is used to add (i.e. choose the files to compress)

Changing it would mean exposing yourself to possible very serious side effects (= does not copy all the data you want). A different function would have to be done, specifically for -not, but the source is already becoming a true example of lasagna code (aka spaghetti 2.0)

At the moment I don't think I can satisfy you

Maybe after finishing the zpaqfranz-over-TCP part I'll think about it again

from zpaqfranz.

fcorbelli avatar fcorbelli commented on September 17, 2024

Can you write here a regex for what you need with

 // allowed metasymbols: 
// ^  -> text must start with pattern (only allowed as first symbol in regular expression) // $  -> text must end   with pattern (only allowed as last  symbol in regular expression) 
// .  -> any literal // x? -> literal x occurs zero or one time 
// x* -> literal x is repeated arbitrarily 
// x+ -> literal x is repeated at least once

In this case it can be doable (with a small-scale regex matcher)

from zpaqfranz.

Erol-2022 avatar Erol-2022 commented on September 17, 2024

Hello,

No worries if the limitation of the recursive search would not work.

The regex expression :

zpaqfranz.exe a backup c:\Documents -not C:\Documents\ * \ * \^Archive$

Is the syntax above correct for you? Only the Archive folders in the 3rd recursion level should be excluded.

from zpaqfranz.

fcorbelli avatar fcorbelli commented on September 17, 2024

If is much harder, because a "full" regex (with groups) requires a LOT of code, just for expression parsing
Limiting the recursion level is hard too, because you can have multiple *, requiring multiple recursion level
-not C:\Documents\*2 \*3 \*1\^Archive$
=> recurse max 2 times the first, 3 the second, 1 the third (...) different -maxdepth for different jolly

Otherwise it would essentially become a hardwired specific feature for your situation

=> do not think to implement anytime soon, I am currently working on this topic (even harder) zpaqfranz-over-ssh

from zpaqfranz.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.