如何使用基于Powershell中当前日期的名称创建文件夹?

时间:2012-10-29 09:30:11

标签: datetime powershell create-directory

每次运行特定逻辑时,我都会生成大约50个xml文件。现在我想将这50个文件存储在特定的日期时间文件夹中。无论我在一个特定日期运行多少次逻辑,都应该仅为该特定日期覆盖xml文件(基于hhmmss)。简单来说,如何使用基于当前日期的名称创建文件夹并根据日期将xml文件存储在其中?

对于Eg:有3个xml文件 file_1.xml,file_2.xml和file_3.xml

现在我想要以格式

创建一个文件夹
**xml_yyyymmdd_hhmmss** 

将容纳所有xml文件。

For Eg: Xml_20121029_180912 

将是为今天的日期创建的文件夹。今天所有3个xml文件都将存储在此文件中。

明天文件夹名称为:

Xml_20121030_170912 

我的代码如下所示:

$location = New-Item -Path . -ItemType Directory -Name ("XML_$(Get-Date -f dd_MM_yyyy_hhmmss)")
$rptdir = "C:\Test" 
$ rptdir = ($rptdir + '\' + $location.Name)
$outputFile= "$rptdir\File_2.xml"
$row = "\\shared\Data\DevSB\CS\appSomeSystem.dll"   
& /f:$row /o:$outputFile

输出错误:找不到路径的一部分“C:\ test \ XML_29_10_2012_091717 \ File2.xml。

此处的问题是 - 文件夹XML_29_10_2012_091717是使用其中的File2.xml创建的,但不是在C:\ Test内部,而是脚本所在的位置。

我需要在C:\ test中创建XML_29_10_2012_091717,其中包含File2.xml。

环境:赢取Xp专业版。

非常感谢任何帮助。

由于

3 个答案:

答案 0 :(得分:4)

试试这个:

New-Item -Path . -ItemType Directory -Name ("XML_$(Get-Date -f ddMMyyyy_hhmmss)")

评论后编辑:

尝试改变这一点:

$location = New-Item -Path c:\test -ItemType Directory -Name ("XML_$(Get-Date -f dd_MM_yyyy_hhmmss)")
$outputFile= "$($location.fullname)\File_2.xml"

答案 1 :(得分:2)

完整版本是:

New-Item -Path . -ItemType Directory -Name (Get-Date -f dd_MM_yyyy)

您也可以使用md或mkdir

md (Get-Date -f dd_MM_yyyy)

答案 2 :(得分:0)

$location = New-Item -Path $rptdir -ItemType Directory **-force** -Name ("XML_$(Get-Date -f dd_MM_yyyy_hhmmss)")

如何添加-force cmd-let here?