function PS-CheckFolderExist($rootDrive,$rootFolder,$subFolder,$childFolder)
{
$disks = Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" | Select DeviceID
foreach($disk in $disks)
{
$deviceID = $disk.DeviceID;
#write-host $deviceID
if($rootDrive -eq $deviceID)
{
$mypathRoot=$rootDrive+"\"+$rootFolder+"\"+$subFolder+"\"+$childFolder
if (test-path $mypathRoot -PathType Container)
{
write-host $mypathRoot "folder already exists!" -ForegroundColor Green
}
else
{
$mypathLevel1=$rootDrive+"\"+$rootFolder+"\"+$subFolder
if (test-path $mypathLevel1 -PathType Container)
{
try
{
New-Item -path $mypathLevel1 -Name $childFolder -ItemType Directory
write-host ""
write-host $mypathLevel1"\"$childFolder "folder created..." -ForegroundColor Green
}
catch
{
write-host "Directory not available !..Please try again" -ForegroundColor Red
}
}
else
{
$mypathLevel2=$rootDrive+"\"+$rootFolder
if (test-path $mypathLevel2 -PathType Container)
{
try
{
New-Item -path $mypathLevel2 -Name $subFolder -ItemType Directory
write-host ""
write-host $mypathLevel2"\"$subFolder "folder created..." -ForegroundColor Green
New-Item -path $mypathLevel2\$subFolder -Name $childFolder -ItemType Directory
write-host ""
write-host $mypathLevel2\$subFolder"\"$childFolder "folder created..." -ForegroundColor Green
}
catch
{
write-host "Directory not available !..Please try again" -ForegroundColor Red
}
}
else
{
try
{
$mypathLevel3=$rootDrive+"\"+$rootFolder
write-host $mypathLevel3
New-Item -path $mypathLevel3 -ItemType Directory
write-host ""
write-host $mypathLevel3 "folder created..." -ForegroundColor Green
New-Item -path $mypathLevel3 -Name $subFolder -ItemType Directory
write-host ""
write-host $mypathLevel3"\"$subFolder "folder created..." -ForegroundColor Green
New-Item -path $mypathLevel3\$subFolder -Name $childFolder -ItemType Directory
write-host ""
write-host $mypathLevel3\$subFolder"\"$childFolder "folder created..." -ForegroundColor Green
}
catch
{
write-host "Directory not available !..Please try again" -ForegroundColor Red
}
}
}
}
}
else
{
write-host $rootDrive "drive is not available !..Please try again" -ForegroundColor Red
}
}
}
PS-CheckFolderExist "C:" "iTest" "myPower" "log"
This example will create folders like below if doesnot exists!
C:\iTest\myPower\log
{
$disks = Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" | Select DeviceID
foreach($disk in $disks)
{
$deviceID = $disk.DeviceID;
#write-host $deviceID
if($rootDrive -eq $deviceID)
{
$mypathRoot=$rootDrive+"\"+$rootFolder+"\"+$subFolder+"\"+$childFolder
if (test-path $mypathRoot -PathType Container)
{
write-host $mypathRoot "folder already exists!" -ForegroundColor Green
}
else
{
$mypathLevel1=$rootDrive+"\"+$rootFolder+"\"+$subFolder
if (test-path $mypathLevel1 -PathType Container)
{
try
{
New-Item -path $mypathLevel1 -Name $childFolder -ItemType Directory
write-host ""
write-host $mypathLevel1"\"$childFolder "folder created..." -ForegroundColor Green
}
catch
{
write-host "Directory not available !..Please try again" -ForegroundColor Red
}
}
else
{
$mypathLevel2=$rootDrive+"\"+$rootFolder
if (test-path $mypathLevel2 -PathType Container)
{
try
{
New-Item -path $mypathLevel2 -Name $subFolder -ItemType Directory
write-host ""
write-host $mypathLevel2"\"$subFolder "folder created..." -ForegroundColor Green
New-Item -path $mypathLevel2\$subFolder -Name $childFolder -ItemType Directory
write-host ""
write-host $mypathLevel2\$subFolder"\"$childFolder "folder created..." -ForegroundColor Green
}
catch
{
write-host "Directory not available !..Please try again" -ForegroundColor Red
}
}
else
{
try
{
$mypathLevel3=$rootDrive+"\"+$rootFolder
write-host $mypathLevel3
New-Item -path $mypathLevel3 -ItemType Directory
write-host ""
write-host $mypathLevel3 "folder created..." -ForegroundColor Green
New-Item -path $mypathLevel3 -Name $subFolder -ItemType Directory
write-host ""
write-host $mypathLevel3"\"$subFolder "folder created..." -ForegroundColor Green
New-Item -path $mypathLevel3\$subFolder -Name $childFolder -ItemType Directory
write-host ""
write-host $mypathLevel3\$subFolder"\"$childFolder "folder created..." -ForegroundColor Green
}
catch
{
write-host "Directory not available !..Please try again" -ForegroundColor Red
}
}
}
}
}
else
{
write-host $rootDrive "drive is not available !..Please try again" -ForegroundColor Red
}
}
}
PS-CheckFolderExist "C:" "iTest" "myPower" "log"
This example will create folders like below if doesnot exists!
C:\iTest\myPower\log
No comments:
Post a Comment