PowerShell Δημιουργία φακέλου εάν δεν υπάρχει

Powershell Demiourgia Phakelou Ean Den Yparchei



Έχετε ένα σωρό φακέλους και θέλετε να δημιουργήσετε έναν νέο, αλλά δεν ξέρετε αν αυτός ο φάκελος υπάρχει ήδη ή όχι; Αυτή η διαδικασία μπορεί να πάρει πολύ χρόνο γιατί πρώτα, θα αναζητήσετε αυτόν τον φάκελο, είτε υπάρχει είτε όχι, και στη συνέχεια θα τον δημιουργήσετε εάν δεν υπάρχει.

Παραδόξως, το PowerShell μπορεί να σας εξοικονομήσει πολύ χρόνο και προσπάθεια αν γνωρίζετε λίγο scripting.







Περίμενε! Δεν χρειάζεται να μάθετε ολόκληρο το σενάριο για αυτήν την εργασία. Επειδή έχω παράσχει πέντε μεθόδους για τη δημιουργία ενός φακέλου, εάν δεν υπάρχουν, με μια σωστή εξήγηση για κάθε εντολή που χρησιμοποιείται σε αυτόν.



Γρήγορη περιγραφή:



Πριν προχωρήσουμε στα σενάρια, ας μάθουμε πώς να ελέγξουμε αν υπάρχει ή όχι ένας φάκελος και, στη συνέχεια, σε μια μέθοδο δημιουργίας φακέλου στο PowerShell.





Ελέγξτε εάν ο φάκελος υπάρχει ήδη στο PowerShell

ο Δοκιμή-Διαδρομή Η εντολή χρησιμοποιείται για να ελέγξει εάν ο φάκελος υπάρχει ήδη στο PowerShell. Για να ελέγξετε εάν ο φάκελος υπάρχει, η διαδρομή του φακέλου καθορίζεται στην εντολή Test-Path, χρησιμοποιώντας το -Μονοπάτι παράμετρος. Σε αντάλλαγμα, επιστρέφει η εντολή Test-Path Αληθής αξία αν υπάρχει, και Ψευδής αν δεν υπάρχει.

Για παράδειγμα, ας ελέγξουμε εάν ο καθορισμένος φάκελος υπάρχει ή δεν χρησιμοποιεί το Δοκιμή-Διαδρομή εντολή:



Δοκιμή-Διαδρομή -Μονοπάτι 'C:\Document'

Για να ελέγξετε την ύπαρξη του φακέλου, πρώτα, καθορίστε το Δοκιμή-Διαδρομή εντολή και δώστε τη διαδρομή του φακέλου χρησιμοποιώντας το -Μονοπάτι παράμετρος:

Η έξοδος είναι Ψευδής επειδή ο καθορισμένος φάκελος δεν υπάρχει.

Δημιουργήστε έναν νέο φάκελο στο PowerShell

ο Νέο αντικείμενο Η εντολή δημιουργεί έναν νέο φάκελο στο PowerShell. Για να δημιουργήσετε έναν κατάλογο, δώστε τη διαδρομή καταλόγου στην εντολή New-Item χρησιμοποιώντας το -Μονοπάτι παράμετρος. Το πιο σημαντικό, χρησιμοποιήστε το -Τύπος αντικειμένου παράμετρο για να δημιουργήσετε έναν φάκελο και να καθορίσετε το Ευρετήριο αξία. Εάν δεν καθορίσετε την παράμετρο -ItemType και την τιμή Directory, τότε η εντολή New-Item θα δημιουργήσει ένα αρχείο αντί για έναν φάκελο.

Για παράδειγμα, ας δημιουργήσουμε έναν νέο φάκελο χρησιμοποιώντας το Νέο αντικείμενο εντολή στο PowerShell:

Νέο αντικείμενο -Μονοπάτι 'C:\Document' -Τύπος αντικειμένου Ευρετήριο

Για να δημιουργήσετε έναν νέο φάκελο:

  • Πρώτα, χρησιμοποιήστε το Νέο αντικείμενο εντολή και καθορίστε τη διαδρομή φακέλου που θα δημιουργηθεί στο -Μονοπάτι παράμετρος.
  • Μετά από αυτό, καθορίστε το Ευρετήριο αξία στο -Τύπος αντικειμένου παράμετρος για να πει στην κονσόλα να δημιουργήσει έναν φάκελο αντί για ένα αρχείο:

Ο νέος φάκελος έχει δημιουργηθεί και ο χρόνος δημιουργίας του είναι ορατός και στην παραπάνω έξοδο.

Δημιουργήστε έναν φάκελο εάν δεν υπάρχει στο PowerShell

Από το ερώτημα, μπορεί να παρατηρηθεί ότι πρόκειται να είναι ένα αν-αλλιώς σενάριο, το οποίο αναφέρει ότι εάν ο φάκελος δεν υπάρχει, τότε δημιουργήστε έναν νέο φάκελο. Υπάρχουν πέντε μέθοδοι για τη δημιουργία ενός φακέλου εάν δεν υπάρχει στο PowerShell και κάθε μέθοδος περιλαμβάνει το σενάριο συνθήκης if-else.

Γρήγορη Λύση

Ακολουθεί η γρήγορη λύση για τη δημιουργία ενός φακέλου εάν δεν υπάρχει στην κονσόλα PowerShell:

αν ( -δεν ( Δοκιμή-Διαδρομή -Μονοπάτι 'C:\NewFolder' ) ) { Νέο αντικείμενο -Μονοπάτι 'C:\NewFolder' -Τύπος αντικειμένου Ευρετήριο }

Ο καθορισμένος κατάλογος δεν υπάρχει και ως εκ τούτου δημιουργείται.

1. Δημιουργήστε φάκελο εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας τη διαδρομή δοκιμής

ο Δοκιμή-Διαδρομή εντολή ελέγχει την ύπαρξη του φακέλου και λέει στην κονσόλα εάν υπάρχει ή όχι. Η εντολή Test-Path και New-Item μαζί με το Αν-Άλλο συνθήκη βοηθούν στη δημιουργία ενός φακέλου εάν δεν υπάρχει στο PowerShell.

Για παράδειγμα, ας παρατηρήσουμε αυτόν τον κώδικα για να δημιουργήσουμε έναν φάκελο εάν δεν υπάρχει χρησιμοποιώντας την εντολή Test-Path:

αν ( Δοκιμή-Διαδρομή -Μονοπάτι 'C:\NewFolder' ) {

Write-Host 'Ο καθορισμένος φάκελος υπάρχει ήδη'
}
αλλού
{
Νέο αντικείμενο -Μονοπάτι 'C:\NewFolder' -Τύπος αντικειμένου Ευρετήριο
}

Για να δημιουργήσετε ένα φάκελο χρησιμοποιώντας το Δοκιμή-Διαδρομή και Νέο αντικείμενο εντολή:

  • Αρχικά, δημιουργήσαμε ένα Αν κατάσταση, όπου χρησιμοποιήσαμε το Δοκιμή-Διαδρομή εντολή και καθόρισε το φάκελο χρησιμοποιώντας το -Μονοπάτι για να ελέγξετε την ύπαρξη φακέλων.
  • Εάν υπάρχει ο καθορισμένος φάκελος, τότε το μήνυμα θα εμφανιστεί χρησιμοποιώντας το Write-Host εντολή που δηλώνει ότι ο φάκελος υπάρχει ήδη και το σενάριο θα τελειώσει εδώ.
  • Διαφορετικά, το πρόγραμμα θα μετακινηθεί στην επόμενη ενότητα.
  • Στην άλλη συνθήκη, χρησιμοποιήσαμε το Νέο αντικείμενο εντολή και καθόρισε τη διαδρομή του φακέλου που θα δημιουργηθεί.
  • Για να εξηγήσουμε πιο ξεκάθαρα την κονσόλα που δημιουργεί έναν φάκελο, χρησιμοποιήσαμε το -Τύπος αντικειμένου ιδιοκτησίας και προσδιόρισε την αξία Ευρετήριο :

Παραγωγή: Ο φάκελος δεν υπάρχει και ως εκ τούτου δημιουργείται νέος φάκελος στον καθορισμένο κατάλογο.

2. Δημιουργήστε φάκελο εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας το Get-Item

ο Get-Item εντολή παίρνει το αρχείο ή το φάκελο από την καθορισμένη θέση. Η εντολή Get-Item μπορεί επίσης να ελέγξει την ύπαρξη του φακέλου χρησιμοποιώντας τη συνθήκη if.

Έτσι μπορείτε να δημιουργήσετε έναν φάκελο εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας την εντολή Get-Item:

αν ( Get-Item -Μονοπάτι 'C:\Document' -ErrorAction Αγνοώ ) {
Write-Host 'Ο φάκελος υπάρχει ήδη'
}
αλλού {
Νέο αντικείμενο -Πολύλογος 'C:\Document' -Τύπος αντικειμένου Ευρετήριο
}

Για να δημιουργήσετε έναν φάκελο αν δεν υπάρχει, χρησιμοποιήστε το Get-Item εντολή:

  • Πρώτα, δημιουργήστε ένα Αν κατάσταση, όπου χρησιμοποιήστε το Get-Item εντολή και καθορίστε τη διαδρομή του φακέλου χρησιμοποιώντας το -Μονοπάτι παράμετρο για να ελέγξετε αν υπάρχει ήδη ή όχι.
  • Επίσης, χρησιμοποιήστε το -ErrorAction παράμετρο και καθορίστε το Αγνοώ τιμή για να αγνοηθούν σφάλματα που ενδέχεται να προκύψουν κατά την εκτέλεση του κώδικα.
  • Εάν ο φάκελος υπάρχει ήδη, η κονσόλα θα εμφανίσει το μήνυμα που λέει ότι ο φάκελος υπάρχει ήδη χρησιμοποιώντας το Write-Host εντολή.
  • Εάν ο φάκελος δεν υπάρχει, το πρόγραμμα θα μετακινηθεί στη συνθήκη else όπου θα δημιουργηθεί ο νέος φάκελος.
  • Στην άλλη κατάσταση, χρησιμοποιήστε το Νέο αντικείμενο εντολή, καθορίστε τη διαδρομή φακέλου που θα δημιουργηθεί και χρησιμοποιήστε το -Τύπος αντικειμένου παράμετρος που έχει την τιμή Ευρετήριο που ορίζεται σε αυτό.
  • Παράλληλα, καθορίστε το -πολύλογος παράμετρος για να λάβετε πιο λεπτομερή έξοδο:

Το στιγμιότυπο οθόνης επιβεβαιώνει ότι ο καθορισμένος φάκελος δεν υπάρχει και ως εκ τούτου δημιουργήθηκε νέος φάκελος.

3. Δημιουργήστε φάκελο εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας το Get-ChildItem

ο Get-ChildItem εντολή παίρνει τα αρχεία ή τους φακέλους από τον δεδομένο κατάλογο. Μπορεί να χρησιμοποιηθεί με την εντολή New-Item και τη συνθήκη If-else για τη δημιουργία ενός φακέλου εάν δεν υπάρχει στο PowerShell.

Ακολουθεί το παράδειγμα κώδικα για τη δημιουργία ενός φακέλου εάν δεν υπάρχει με τη βοήθεια της εντολής Get-ChildItem:

αν ( Get-ChildItem -Μονοπάτι 'C:\Document' -ErrorAction Αγνοώ )
{
Write-Host 'Ο φάκελος υπάρχει ήδη'
}
αλλού
{
Νέο αντικείμενο 'C:\Document' -Τύπος αντικειμένου Ευρετήριο
}

Σημείωση: Η εξήγηση κώδικα για το παραπάνω απόσπασμα είναι η ίδια όπως και για το Get-Item εντολή εκτός από το Get-ChildItem εντολή:

Ο καθορισμένος φάκελος δεν υπάρχει και ως εκ τούτου δημιουργήθηκε νέος φάκελος.

4. Δημιουργήστε έναν φάκελο εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας Test-Path και Mkdir

ο mkdir η εντολή δημιουργεί έναν φάκελο στο PowerShell. Έχει ψευδώνυμο md , το οποίο λειτουργεί επίσης όπως και η εντολή Mkdir. Αυτή η εντολή μπορεί επίσης να δημιουργήσει έναν φάκελο εάν δεν υπάρχει με τον συνδυασμό της εντολής Test-Path και της συνθήκης if-else.

Ακολουθεί το παράδειγμα δημιουργίας φακέλου εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας την εντολή md και Test-Path:

αν ( Δοκιμή-Διαδρομή -Μονοπάτι 'C:\Folder' ) {

Write-Host 'Ο φάκελος υπάρχει ήδη'
}
αλλού
{
md 'C:\Folder'
}

Για να δημιουργήσετε έναν φάκελο αν δεν υπάρχει:

  • Πρώτα, δημιουργήστε το Αν προϋπόθεση και προσδιορίστε το Δοκιμή-Διαδρομή εντολή μαζί με το φάκελο για να ελέγξετε αν υπάρχει ή όχι.
  • Εάν ο φάκελος υπάρχει, τερματίστε τον κώδικα εδώ και εκτυπώστε τον φάκελο που υπάρχει ήδη.
  • Διαφορετικά, δημιουργήστε έναν φάκελο χρησιμοποιώντας το md εντολή καθορίζοντας το όνομα του φακέλου και τη διαδρομή:

Η έξοδος δείχνει ότι ο φάκελος δεν υπάρχει και ως εκ τούτου δημιουργήθηκε νέος φάκελος.

5. Δημιουργήστε φάκελο εάν δεν υπάρχει στο PowerShell χρησιμοποιώντας το [System.IO.File]::Exists()

ο [System.IO.File]::Exists() Η εντολή ελέγχει εάν ο καθορισμένος φάκελος υπάρχει ή όχι. Μπορεί να δημιουργήσει το φάκελο στο PowerShell εάν δεν υπάρχει με τον συνδυασμό της συνθήκης if-else και της εντολής New-Item.

Έτσι μπορείτε να δημιουργήσετε έναν φάκελο αν δεν υπάρχει στο PowerShell χρησιμοποιώντας την εντολή [System.IO.File]::Exists():

αν ( [ Σύστημα.ΙΟ.Κατάλογος ] ::Υπάρχει ( 'C:\Docs' ) )
{
Write-Host 'Ο φάκελος υπάρχει ήδη'
}
αλλού
{
Νέο αντικείμενο 'C:\Docs' -Τύπος αντικειμένου Ευρετήριο
}

Στον παραπάνω κώδικα:

  • Πρώτα, δημιουργήστε ένα Αν προϋπόθεση και προσδιορίστε το [System.IO.Directory]::Υπάρχει(Folder-Path) εντολή μέσα σε αυτό για να ελέγξετε εάν αυτός ο φάκελος υπάρχει ή όχι.
  • Εάν βρεθεί ο κατάλογος, τότε η κονσόλα θα εκτυπώσει ότι ο φάκελος υπάρχει.
  • Διαφορετικά, θα δημιουργήσει αυτόν τον φάκελο χρησιμοποιώντας το Νέο αντικείμενο εντολή:

Ο καθορισμένος φάκελος δεν υπάρχει και στη συνέχεια δημιουργείται ένας νέος φάκελος χρησιμοποιώντας την εντολή New-Item.

Συμβουλή μπόνους: Δημιουργήστε έναν φάκελο εάν υπάρχει ήδη στο PowerShell

ο -Δύναμη παράμετρος με το Νέο αντικείμενο Η εντολή χρησιμοποιείται για την αντικατάσταση ενός υπάρχοντος φακέλου στο PowerShell. Η παράμετρος -Force αντικαθιστά ένα υπάρχον στοιχείο στην καθορισμένη διαδρομή στο PowerShell. Για να δημιουργήσετε έναν φάκελο εάν υπάρχει ήδη, απλώς προσθέστε την παράμετρο -Force μαζί με την εντολή New-Item.

Έτσι μπορείτε να αντικαταστήσετε έναν υπάρχοντα φάκελο:

Νέο αντικείμενο -Μονοπάτι 'C:\Document' -Τύπος αντικειμένου Ευρετήριο -Δύναμη

Για να δημιουργήσετε έναν φάκελο εάν υπάρχει ήδη στο PowerShell:

  • Αρχικά, χρησιμοποιήστε την εντολή New-Item και καθορίστε τον φάκελο που θα δημιουργηθεί χρησιμοποιώντας την παράμετρο -path.
  • Στη συνέχεια, χρησιμοποιήστε την παράμετρο -ItemType και καθορίστε την τιμή που θα πείτε στην κονσόλα να δημιουργήσει έναν φάκελο.
  • Τέλος, για να αντικαταστήσετε έναν υπάρχοντα φάκελο χρησιμοποιήστε την παράμετρο -Force:

Ο φάκελος αντικαταστάθηκε με επιτυχία στην καθορισμένη διαδρομή.

συμπέρασμα

Για να δημιουργήσετε έναν φάκελο εάν δεν υπάρχει, πρώτα ελέγξτε την ύπαρξη του φακέλου χρησιμοποιώντας το Δοκιμή-Διαδρομή εντολή. Στη συνέχεια, χρησιμοποιήστε το Νέο αντικείμενο εντολή για τη δημιουργία φακέλου, εάν δεν υπάρχει. Για να εκτελέσετε αυτή τη λειτουργία με μία κίνηση, πρέπει να χρησιμοποιήσετε το αν-αλλιώς συνθήκη μαζί με την εντολή Test-Path και την εντολή New-Item, την οποία έχω ήδη δείξει στη Μέθοδο 1 σε αυτό το άρθρο.