Jump to content

script για σβησιμο shared αρχειων


emmstra
 Share

Recommended Posts

Κλαησπερα

σε συνεχεια του παλιου θεματος που ειχα ανοιξει εδω

 

http://autoexec.gr//index.php?/topic/1484-script-για-σβησιμο-shared-αρχειων/

 

θα ηθελα να μπορω , στο 2ο script, με το keeppaths, στους εσωτερικους φακελους που θα δηλωσω να παραμενουν και τα αρχεια που περιεχονται εκει.

Μπορει να γινει ? αν ναι πως?

 

ευχαριστω ​

 

Link to comment
Share on other sites

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 -recurse
dir $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 -recurse
dir $path -recurse


Το μόνο περίεργο εδώ είναι ότι το "-notcontains" είναι case sensitive οπότε πρέπει να γράψεις στο keeppaths.txt τα path ακριβώς όπως έχουν δημιουργηθεί. Ή, να φτιάξεις και το keeppaths.txt με ένα command όπως το


dir $path |%{$_.FullName} |set-content e:\keeppaths.txt

 

Και τελικα στο 2ο ζηταω αν υπαρχει τροπος στους εσωτερικους φακελους που θα δηλωσω να παραμενουν και τα αρχεια που περιεχονται εκει.

Link to comment
Share on other sites

Θέλω να σβήνω τα περιεχόμενα των υποφακελων που βρίσκονται σε ενα κοινοχρηστο φακελο, χωρίς να σβήνονται οι υποφακελοι. Επιπλέον  σε κάποιους υποφακελους υπάρχουν φάκελοι που περιέχουν αρχεία και ενδεχομένως υποφακελους που επίσης δεν θέλω να σβηστούν.

Link to comment
Share on other sites

αρα καταλαβαινεις απο τη στιγμη που δεν εχεις σωστη δομη, δεν μπορεις να παιξεις με wildcard. θα πρεπει να αντιμετωπισεις ξεχωριστα τον καθε φακελο. Φανταζομαι το ερωτημα σου ειναι πως διαγραφω περιεχομενα υποφακελων χωρις να χαλασω τη δομη τους. σωστα?

 

ΝΚ

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...