Powershell 创建目录,但不按我希望的方式执行

Powershell 创建目录,但不按我希望的方式执行,powershell,powershell-ise,Powershell,Powershell Ise,我已经创建了一个powershell脚本,该脚本将创建目录: function Create-C:Directory{ md C:\DATA } function Create-C:DirectoryLOG{ md C:\Log } $TestCDrive = Test-Path C:\DATA IF ($TestCDrive = "False") {Create-C:Directory} ELSE {Write-Host "C Data Directory

我已经创建了一个powershell脚本,该脚本将创建目录:

function Create-C:Directory{
md C:\DATA
}

function Create-C:DirectoryLOG{
md C:\Log
}

$TestCDrive = Test-Path C:\DATA
IF ($TestCDrive  = "False")
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

$TestCDriveLOG = Test-Path C:\Log
IF ($TestCDriveLOG = "False")
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}
我相信我已经告诉代码,如果测试路径为false,那么就创建else-write-host。我相信这个代码能像我期望的那样吗

结果: 当我第一次运行时,它将为我创建目录。 但出于测试目的,当我再次运行它时,我希望它告诉我该目录已经存在,但它会给我一条红色错误消息,告诉我:

md: An item with the soecified name C:\DATA already exists.

C:\Log也是如此。我真的不知道该怎么处理这个问题,我花了很多时间想弄明白,但是运气不好。希望有人能帮你

试试这个,你的逻辑有点不对劲:

function Create-C:DirectoryLOG{
md C:\Log
}

IF (!(Test-Path C:\DATA))
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

IF (!(Test-Path C:\log))
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}

试试这个,你的逻辑有点不正确:

function Create-C:DirectoryLOG{
md C:\Log
}

IF (!(Test-Path C:\DATA))
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

IF (!(Test-Path C:\log))
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}

试试这个,你的逻辑有点不正确:

function Create-C:DirectoryLOG{
md C:\Log
}

IF (!(Test-Path C:\DATA))
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

IF (!(Test-Path C:\log))
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}

试试这个,你的逻辑有点不正确:

function Create-C:DirectoryLOG{
md C:\Log
}

IF (!(Test-Path C:\DATA))
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

IF (!(Test-Path C:\log))
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}


=
是分配
-eq
是test。很遗憾,我尝试了-eq而不是“=”它仍然是相同的输出。这是完整的错误代码:md:具有指定名称C:\DATA的项已存在。在第2行,char:5+md C:\DATA+~~~~~~~~~~~~~~~~+CategoryInfo:ResourceExists:(C:\DATA:String)[新项目],IOException+FullyQualifiedErrorId:DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand
if(测试路径C:\DATA){Create-C:Directory}否则{写主机“C数据目录存在”}
?就我而言,这种使用临时变量和一次性函数的方式一开始真的很奇怪。请确认一下。这段代码意味着,如果测试路径为True,那么执行函数?我试过了,它打印语句而不是
=
是赋值
-eq
是test。很遗憾,我尝试了-eq而不是“=”它仍然是相同的输出。这是完整的错误代码:md:具有指定名称C:\DATA的项已存在。在第2行,char:5+md C:\DATA+~~~~~~~~~~~~~~~~+CategoryInfo:ResourceExists:(C:\DATA:String)[新项目],IOException+FullyQualifiedErrorId:DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand
if(测试路径C:\DATA){Create-C:Directory}否则{写主机“C数据目录存在”}
?就我而言,这种使用临时变量和一次性函数的方式一开始真的很奇怪。请确认一下。这段代码意味着,如果测试路径为True,那么执行函数?我试过了,它打印语句而不是
=
是赋值
-eq
是test。很遗憾,我尝试了-eq而不是“=”它仍然是相同的输出。这是完整的错误代码:md:具有指定名称C:\DATA的项已存在。在第2行,char:5+md C:\DATA+~~~~~~~~~~~~~~~~+CategoryInfo:ResourceExists:(C:\DATA:String)[新项目],IOException+FullyQualifiedErrorId:DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand
if(测试路径C:\DATA){Create-C:Directory}否则{写主机“C数据目录存在”}
?就我而言,这种使用临时变量和一次性函数的方式一开始真的很奇怪。请确认一下。这段代码意味着,如果测试路径为True,那么执行函数?我试过了,它打印语句而不是
=
是赋值
-eq
是test。很遗憾,我尝试了-eq而不是“=”它仍然是相同的输出。这是完整的错误代码:md:具有指定名称C:\DATA的项已存在。在第2行,char:5+md C:\DATA+~~~~~~~~~~~~~~~~+CategoryInfo:ResourceExists:(C:\DATA:String)[新项目],IOException+FullyQualifiedErrorId:DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand
if(测试路径C:\DATA){Create-C:Directory}否则{写主机“C数据目录存在”}
?就我而言,这种使用临时变量和一次性函数的方式一开始真的很奇怪。请确认一下。这段代码意味着,如果测试路径为True,那么执行函数?我试过了,它打印了陈述而不是一个问题,伙计。IF语句中的感叹号u有什么作用?感叹号与“not”相同。jsut一个问号。IF语句中的感叹号u有什么作用?感叹号与“not”相同。jsut一个问号。IF语句中的感叹号u有什么作用?感叹号与“not”相同。jsut一个问号。IF语句中的感叹号u有什么作用?感叹号与“not”相同。