emmstra Posted October 1, 2015 Report Share Posted October 1, 2015 Κλαησπερα σε συνεχεια του παλιου θεματος που ειχα ανοιξει εδω http://autoexec.gr//index.php?/topic/1484-script-για-σβησιμο-shared-αρχειων/ θα ηθελα να μπορω , στο 2ο script, με το keeppaths, στους εσωτερικους φακελους που θα δηλωσω να παραμενουν και τα αρχεια που περιεχονται εκει. Μπορει να γινει ? αν ναι πως? ευχαριστω Quote Link to comment Share on other sites More sharing options...
kkaminaris Posted October 2, 2015 Report Share Posted October 2, 2015 Καλησπέρα, Δυστυχώς δεν εμφανιζεται το παλιό θέμα. Μπορείς να το ξαναποστάρεις για να το θυμηθούμε; Quote Link to comment Share on other sites More sharing options...
emmstra Posted October 2, 2015 Author Report Share Posted October 2, 2015 ok, Nα τι ειχα γραψει : Υπαρχει καποιο για να σβηνω αυτοματα ενα κοινοχρηστο χωρο που εχω για τους χρηστες??η δομη ειναι ως εξης :KOINOSκαι απο κατω A, B, C, ....F. folders...οι χρηστες αποθηκευουν τα κοινα στους folders αναλογα με δικαιωματα.Εγω θελω να αδειαζω τους folders και απο τυχον φακελους και απο αρχεια χωρις να επηρεαζω την δομη!! (Α,B, C,.....) Η απαντηση που ειχα παρει ηταν , η οποια ειχε δουλεψει: Και πως θα ξεχωρίσεις τους υποφακέλους από τους υπο-υπόφακέλους? Ή μήπως θέλεις να κρατήσεις τους φακέλους στο root και να σβήσεις ότι υπάρχει παρακάτω? Υπάρχει περίπτωση να θέλεις να κρατήσεις και τον φάκελο A.2, για παράδειγμα? Υποθέτωντας ότι θέλεις να κρατήσεις μόνο τους φακέλους στο root μπορείς να γράψεις το παρακάτω powershell script: $path="e:\test"$rootPaths= dir $path|where {$_.psiscontainer}|%{$_.PSPath}dir $path -recurse | where { $rootpaths -notcontains $_.PSPath }| del -recursedir $path -recurse Αποθηκεύω τα path των root φακέλων σε ένα πίνακα και μετά διαγράφω οτιδήποτε βρίσεται κάτω από το $path και δεν υπάρχει στον πίνακα. Για μία πιο περίεργη δομή (π.χ. για να κρατήσω και το φάκελο A.2) μπορώ να διαβάσω τα path των folder που θέλω να διατηρήσω από ένα αρχείο (εδώ το keeppaths.txt): $path="e:\test"$keepPaths = Get-Content -Path "e:\keeppaths.txt"dir $path -recurse | where { $keeppaths -notcontains $_.FullName }| del -recursedir $path -recurse Το μόνο περίεργο εδώ είναι ότι το "-notcontains" είναι case sensitive οπότε πρέπει να γράψεις στο keeppaths.txt τα path ακριβώς όπως έχουν δημιουργηθεί. Ή, να φτιάξεις και το keeppaths.txt με ένα command όπως το dir $path |%{$_.FullName} |set-content e:\keeppaths.txt Και τελικα στο 2ο ζηταω αν υπαρχει τροπος στους εσωτερικους φακελους που θα δηλωσω να παραμενουν και τα αρχεια που περιεχονται εκει. Quote Link to comment Share on other sites More sharing options...
emmstra Posted October 6, 2015 Author Report Share Posted October 6, 2015 Καποιος να βοηθησει........ Quote Link to comment Share on other sites More sharing options...
nkspeed Posted October 6, 2015 Report Share Posted October 6, 2015 Με powershell μπορεις να κανεις τα παντα, γινε λιγο πιο αναλυτικος γιατι δεν μπορω να καταλαβω τι ακριβως θες να κανεις. ΝΚ Quote Link to comment Share on other sites More sharing options...
emmstra Posted October 6, 2015 Author Report Share Posted October 6, 2015 Θέλω να σβήνω τα περιεχόμενα των υποφακελων που βρίσκονται σε ενα κοινοχρηστο φακελο, χωρίς να σβήνονται οι υποφακελοι. Επιπλέον σε κάποιους υποφακελους υπάρχουν φάκελοι που περιέχουν αρχεία και ενδεχομένως υποφακελους που επίσης δεν θέλω να σβηστούν. Quote Link to comment Share on other sites More sharing options...
nkspeed Posted October 6, 2015 Report Share Posted October 6, 2015 αρα καταλαβαινεις απο τη στιγμη που δεν εχεις σωστη δομη, δεν μπορεις να παιξεις με wildcard. θα πρεπει να αντιμετωπισεις ξεχωριστα τον καθε φακελο. Φανταζομαι το ερωτημα σου ειναι πως διαγραφω περιεχομενα υποφακελων χωρις να χαλασω τη δομη τους. σωστα? ΝΚ Quote Link to comment Share on other sites More sharing options...
emmstra Posted October 6, 2015 Author Report Share Posted October 6, 2015 Ναι και επιπλέον σε κάποιους υποφακελους δεν θέλω να μπω μέσα και να σβήσω οτιδήποτε εχει Quote Link to comment Share on other sites More sharing options...
nkspeed Posted October 6, 2015 Report Share Posted October 6, 2015 Ο ευκολοτερος τροπος που μου ερχεται χωρις να πεδευτεις ειναι κατι οπως del /S /P *.doc del /S /P *.xls NK Quote Link to comment Share on other sites More sharing options...
emmstra Posted October 7, 2015 Author Report Share Posted October 7, 2015 Ευχαριστω πολυ. Πως δουλευει αυτο? πρεπει να γραφω για καθε τυπο αρχειου??? Quote Link to comment Share on other sites More sharing options...
nkspeed Posted October 7, 2015 Report Share Posted October 7, 2015 Ναι αν θελεις για καθε τυπο ή *.* για ολα τα αρχεια χωρις να διαγραψεις directories. NK Quote Link to comment Share on other sites More sharing options...
emmstra Posted October 7, 2015 Author Report Share Posted October 7, 2015 Πως θα σβησω και τους υπολοιπους φακελους που βρισκονται στον φακελο που θελω?? Quote Link to comment Share on other sites More sharing options...
nkspeed Posted October 7, 2015 Report Share Posted October 7, 2015 Η εντολη rmdir διαγραφει φακελους και αρχεια και η del μονο αρχεια. Χρησημοποιησε αναλογα εκει που πρεπει. ΝΚ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.