PowerShell Izveidojiet mapi, ja neeksistē

Powershell Izveidojiet Mapi Ja Neeksiste



Vai jums ir vairākas mapes un vēlaties izveidot jaunu, bet nezināt, vai šī mape jau pastāv? Šis process var aizņemt daudz laika, jo vispirms jūs meklēsit šo mapi neatkarīgi no tā, vai tā pastāv, un pēc tam izveidosit to, ja tā neeksistē.

Pārsteidzoši, PowerShell var ietaupīt daudz laika un pūļu, ja jūs zināt mazliet skriptu.







Uzgaidi! Lai veiktu šo uzdevumu, jums nav jāapgūst visa skriptēšanas lieta. Tā kā esmu sniedzis piecas metodes, kā izveidot mapi, ja tādas nav, ar pareizu katras tajā izmantotās komandas skaidrojumu.



Īss izklāsts:



Pirms pāriet uz skriptiem, uzzināsim, kā pārbaudīt, vai mape pastāv vai ne, un pēc tam uz metodi mapes izveidei programmā PowerShell.





Pārbaudiet, vai mape jau pastāv programmā PowerShell

The Testa ceļš komanda tiek izmantota, lai pārbaudītu, vai mape jau pastāv programmā PowerShell. Lai pārbaudītu, vai mape pastāv, mapes ceļš tiek norādīts komandai Test-Path, izmantojot - Ceļš parametrs. Savukārt komanda Test-Path atgriežas Taisnība vērtība, ja tāda pastāv, un Nepatiesi ja tā neeksistē.

Piemēram, pārbaudīsim, vai norādītā mape pastāv vai neizmanto Testa ceļš komanda:



Testa ceļš - Ceļš 'C:\Dokuments'

Lai pārbaudītu mapes esamību, vispirms norādiet Testa ceļš komandu un norādiet mapes ceļu, izmantojot - Ceļš parametrs:

Izvade ir Nepatiesi jo norādītā mape neeksistē.

Izveidojiet jaunu mapi programmā PowerShell

The Jaunums komanda izveido jaunu mapi programmā PowerShell. Lai izveidotu direktoriju, norādiet direktorijas ceļu uz komandu New-Item, izmantojot - Ceļš parametrs. Vissvarīgākais ir izmantot - preces veids parametru, lai izveidotu mapi un norādītu Katalogs vērtību. Ja nenorādīsit parametru -ItemType un direktorija vērtību, komanda New-Item izveidos failu, nevis mapi.

Piemēram, izveidosim jaunu mapi, izmantojot Jaunums komanda programmā PowerShell:

Jaunums - Ceļš 'C:\Dokuments' - preces veids Katalogs

Lai izveidotu jaunu mapi:

  • Pirmkārt, izmantojiet Jaunums komandu un norādiet mapes ceļu, kas jāizveido uz - Ceļš parametrs.
  • Pēc tam norādiet Katalogs vērtību - preces veids parametrs, kas liek konsolei faila vietā izveidot mapi:

Jaunā mape ir izveidota, un tās izveides laiks ir redzams arī augstāk esošajā izvadē.

Izveidojiet mapi, ja tādas nav programmā PowerShell

Pēc vaicājuma var novērot, ka tas būs an ja-citādi scenārijs, kurā teikts, ka, ja mape neeksistē, izveidojiet jaunu mapi. Ir piecas metodes, kā izveidot mapi, ja tāda nav programmā PowerShell, un katra metode ietver nosacījumu scenāriju ja-cits.

Ātrs risinājums

Šeit ir ātrs risinājums mapes izveidei, ja tāda nav PowerShell konsolē:

ja ( - nē ( Testa ceļš - Ceļš 'C:\NewFolder' ) ) { Jaunums - Ceļš 'C:\NewFolder' - preces veids Katalogs }

Norādītais direktorijs neeksistē, tāpēc tas tiek izveidots.

1. Izmantojot testa ceļu, programmā PowerShell izveidojiet mapi, ja tās nav

The Testa ceļš komanda pārbauda mapes esamību un paziņo konsolei, vai tā pastāv vai nē. Komanda Test-Path un New-Item kopā ar Ja-Citādi nosacījums palīdz izveidot mapi, ja tā nepastāv programmā PowerShell.

Piemēram, ievērosim šo kodu, lai izveidotu mapi, ja tā neeksistē, izmantojot komandu Test-Path:

ja ( Testa ceļš - Ceļš 'C:\NewFolder' ) {

Rakstīšanas saimniekdators 'Norādītā mape jau pastāv'
}
cits
{
Jaunums - Ceļš 'C:\NewFolder' - preces veids Katalogs
}

Lai izveidotu mapi, izmantojot Testa ceļš un Jaunums komanda:

  • Pirmkārt, mēs izveidojām Ja stāvoklī, kur mēs izmantojām Testa ceļš komandu un norādīja mapi, izmantojot - Ceļš lai pārbaudītu mapju esamību.
  • Ja norādītā mape pastāv, ziņojums tiks parādīts, izmantojot Rakstīšanas saimniekdators komandu, norādot, ka mape jau pastāv, un skripts beigsies šeit.
  • Pretējā gadījumā programma pāries uz nākamo sadaļu.
  • Citā stāvoklī mēs izmantojām Jaunums komandu un norādījis izveidojamās mapes ceļu.
  • Lai skaidrāk izskaidrotu konsoli, kas izveido mapi, mēs izmantojām - preces veids īpašumu un norādīja vērtību Katalogs :

Izvade: Mape neeksistē, tāpēc norādītajā direktorijā tiek izveidota jauna mape.

2. Izmantojot Get-Item, programmā PowerShell izveidojiet mapi, ja tās nav

The Iegūt vienumu komanda iegūst failu vai mapi no norādītās vietas. Komanda Get-Item var arī pārbaudīt mapes esamību, izmantojot nosacījumu if.

Šādi varat izveidot mapi, ja tāda nav programmā PowerShell, izmantojot komandu Get-Item:

ja ( Iegūt vienumu - Ceļš 'C:\Dokuments' -ErrorAction Ignorēt ) {
Rakstīšanas saimniekdators 'Fails jau pastāv'
}
cits {
Jaunums - Daudzrunīgs 'C:\Dokuments' - preces veids Katalogs
}

Lai izveidotu mapi, ja tā neeksistē, izmantojiet Iegūt vienumu komanda:

  • Vispirms izveidojiet an Ja stāvoklī, kur izmantot Iegūt vienumu komandu un norādiet mapes ceļu, izmantojot - Ceļš parametru, lai pārbaudītu, vai tas jau pastāv.
  • Tāpat izmantojiet -ErrorAction parametru un norādiet Ignorēt vērtību, lai ignorētu kļūdas, kas var rasties koda izpildes laikā.
  • Ja mape jau pastāv, konsole parādīs ziņojumu, kurā teikts, ka mape jau pastāv, izmantojot Rakstīšanas saimniekdators komandu.
  • Ja mape neeksistē, programma pāries uz citu nosacījumu, kurā tiks izveidota jauna mape.
  • Citā stāvoklī izmantojiet Jaunums komandu, norādiet izveidojamās mapes ceļu un izmantojiet - preces veids parametrs ar vērtību Katalogs tam norādīts.
  • Blakus tam norādiet - daudzrunīgs parametrs, lai iegūtu detalizētāku izvadi:

Ekrānuzņēmums apstiprina, ka norādītā mape neeksistē, un tāpēc tika izveidota jauna mape.

3. Izmantojot Get-ChildItem, programmā PowerShell izveidojiet mapi, ja tās nav

The Get-ChildItem komanda iegūst failus vai mapes no dotā direktorija. To var izmantot ar komandu New-Item un nosacījumu If-else, lai izveidotu mapi, ja tā nepastāv programmā PowerShell.

Šeit ir koda piemērs, lai izveidotu mapi, ja tā neeksistē, izmantojot komandu Get-ChildItem:

ja ( Get-ChildItem - Ceļš 'C:\Dokuments' -ErrorAction Ignorēt )
{
Rakstīšanas saimniekdators 'Mape jau pastāv'
}
cits
{
Jaunums 'C:\Dokuments' - preces veids Katalogs
}

Piezīme: Koda skaidrojums iepriekšminētajam fragmentam ir tāds pats kā kodam Iegūt vienumu komanda, izņemot Get-ChildItem komanda:

Norādītā mape neeksistē, tāpēc tika izveidota jauna mape.

4. Izmantojot testa ceļu un Mkdir, programmā PowerShell izveidojiet mapi, ja tās nav

The mkdir komanda izveido mapi programmā PowerShell. Tam ir aizstājvārds md , kas arī darbojas tāpat kā Mkdir komanda. Šī komanda var arī izveidot mapi, ja tā nepastāv, kombinējot komandu Test-Path un nosacījumu if-else.

Šeit ir piemērs mapes izveidei, ja tāda nav programmā PowerShell, izmantojot komandu md un Test-Path:

ja ( Testa ceļš - Ceļš 'C:\Folder' ) {

Rakstīšanas saimniekdators 'Mape jau pastāv'
}
cits
{
md 'C:\Folder'
}

Lai izveidotu mapi, ja tā neeksistē:

  • Pirmkārt, izveidojiet Ja nosacījumu un norādiet Testa ceļš komandu kopā ar mapi, lai pārbaudītu, vai tā pastāv.
  • Ja mape pastāv, pabeidziet kodu šeit un izdrukājiet jau esošo mapi.
  • Pretējā gadījumā izveidojiet mapi, izmantojot md komandu, norādot mapes nosaukumu un ceļu:

Izvade parāda, ka mape neeksistē, un tāpēc tika izveidota jauna mape.

5. Izveidojiet mapi, ja tādas nav programmā PowerShell, izmantojot [System.IO.File]::Exists()

The [System.IO.File]::Exists() komanda pārbauda, ​​vai norādītā mape pastāv vai nē. Tas var izveidot mapi programmā PowerShell, ja tā nepastāv, kombinējot nosacījumu if-else un komandu New-Item.

Tādā veidā varat izveidot mapi, ja tāda nav programmā PowerShell, izmantojot komandu [System.IO.File]::Exists():

ja ( [ System.IO.Directory ] ::Pastāv ( 'C:\Docs' ) )
{
Rakstīšanas saimniekdators 'Mape jau pastāv'
}
cits
{
Jaunums 'C:\Docs' - preces veids Katalogs
}

Iepriekš minētajā kodā:

  • Vispirms izveidojiet an Ja nosacījumu un norādiet [System.IO.Directory]::Exists(Folder-Path) komandu tajā, lai pārbaudītu, vai šī mape pastāv vai ne.
  • Ja direktorijs tiek atrasts, konsole drukā, ka mape pastāv.
  • Pretējā gadījumā tā izveidos šo mapi, izmantojot Jaunums komanda:

Norādītā mape neeksistē, un pēc tam tiek izveidota jauna mape, izmantojot komandu New-Item.

Bonusa padoms: izveidojiet mapi, ja tā jau pastāv programmā PowerShell

The -Spēks parametrs ar Jaunums komanda tiek izmantota, lai pārrakstītu esošu PowerShell mapi. Parametrs -Force pārraksta esošu vienumu norādītajā PowerShell ceļā. Lai izveidotu mapi, ja tā jau pastāv, vienkārši pievienojiet parametru -Force kopā ar komandu New-Item.

Esošu mapi var pārrakstīt šādi:

Jaunums - Ceļš 'C:\Dokuments' - preces veids Katalogs -Spēks

Lai izveidotu mapi, ja tā jau pastāv programmā PowerShell:

  • Vispirms izmantojiet komandu New-Item un norādiet izveidojamo mapi, izmantojot parametru -path.
  • Pēc tam izmantojiet parametru -ItemType un norādiet vērtību, lai norādītu konsolei izveidot mapi.
  • Visbeidzot, lai pārrakstītu esošu mapi, izmantojiet parametru -Force:

Mape ir veiksmīgi pārrakstīta norādītajā ceļā.

Secinājums

Lai izveidotu mapi, ja tās nav, vispirms pārbaudiet mapes esamību, izmantojot Testa ceļš komandu. Pēc tam izmantojiet Jaunums komandu, lai izveidotu mapi, ja tā neeksistē. Lai veiktu šo darbību vienā piegājienā, jums ir jāizmanto ja-citādi nosacījums kopā ar komandu Test-Path un komandu New-Item, ko es jau demonstrēju šī raksta 1. metodē.