Jump to content









Photo

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

powershell script file server

  • Please log in to reply
12 replies to this topic

#1 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 01 October 2015 - 09:06 AM

Κλαησπερα

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

 

http://autoexec.gr//...shared-αρχειων/

 

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

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

 

ευχαριστω ​

 



#2 Konstantinos Kaminaris

Konstantinos Kaminaris

    Junior IT

  • Members
  • PipPip
  • 24 posts
  • LocationATHENS

Posted 02 October 2015 - 03:27 PM

Καλησπέρα,

 

Δυστυχώς δεν εμφανιζεται το παλιό θέμα.

 

Μπορείς να το ξαναποστάρεις για να το θυμηθούμε;



#3 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 02 October 2015 - 06:12 PM

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ο ζηταω αν υπαρχει τροπος στους εσωτερικους φακελους που θα δηλωσω να παραμενουν και τα αρχεια που περιεχονται εκει.



#4 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 06 October 2015 - 07:25 AM

Καποιος να βοηθησει........



#5 Nikos Kastanas

Nikos Kastanas

    Skilled IT Pro

  • Members
  • PipPipPipPip
  • 761 posts

Posted 06 October 2015 - 10:02 PM

Με powershell μπορεις να κανεις τα παντα, γινε λιγο πιο αναλυτικος γιατι δεν μπορω να καταλαβω τι ακριβως θες να κανεις.

 

 

ΝΚ


twitter_logo.png


#6 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 06 October 2015 - 10:34 PM

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



#7 Nikos Kastanas

Nikos Kastanas

    Skilled IT Pro

  • Members
  • PipPipPipPip
  • 761 posts

Posted 06 October 2015 - 10:46 PM

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

 

ΝΚ


twitter_logo.png


#8 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 06 October 2015 - 11:05 PM

Ναι και επιπλέον σε κάποιους υποφακελους δεν θέλω να μπω μέσα και να σβήσω οτιδήποτε εχει



#9 Nikos Kastanas

Nikos Kastanas

    Skilled IT Pro

  • Members
  • PipPipPipPip
  • 761 posts

Posted 07 October 2015 - 12:37 AM

Ο ευκολοτερος τροπος που μου ερχεται χωρις να πεδευτεις ειναι κατι οπως

del /S /P *.doc

del /S /P *.xls

 

NK


twitter_logo.png


#10 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 07 October 2015 - 07:26 AM

Ευχαριστω πολυ. Πως δουλευει αυτο?

πρεπει να γραφω για καθε τυπο αρχειου???



#11 Nikos Kastanas

Nikos Kastanas

    Skilled IT Pro

  • Members
  • PipPipPipPip
  • 761 posts

Posted 07 October 2015 - 04:36 PM

Ναι αν θελεις για καθε τυπο ή *.* για ολα τα αρχεια χωρις να διαγραψεις directories.

 

 

NK


twitter_logo.png


#12 emmstra

emmstra

    IT Pro

  • Members
  • PipPipPip
  • 248 posts

Posted 07 October 2015 - 04:50 PM

Πως θα σβησω και τους υπολοιπους φακελους που βρισκονται στον φακελο που θελω??



#13 Nikos Kastanas

Nikos Kastanas

    Skilled IT Pro

  • Members
  • PipPipPipPip
  • 761 posts

Posted 08 October 2015 - 01:09 AM

Η εντολη rmdir διαγραφει φακελους και αρχεια και η del μονο αρχεια. Χρησημοποιησε αναλογα εκει που πρεπει.

 

 

ΝΚ


twitter_logo.png






Also tagged with one or more of these keywords: powershell, script, file server

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users