4

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

例如:有 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。

环境:Win Xp Professional。

任何帮助将不胜感激。

谢谢

4

3 回答 3

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"
于 2012-10-29T10:16:07.740 回答
2

完整版是:

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

您也可以使用 md 或 mkdir

md (Get-Date -f dd_MM_yyyy)
于 2012-10-29T10:08:17.273 回答
0
$location = New-Item -Path $rptdir -ItemType Directory **-force** -Name ("XML_$(Get-Date -f dd_MM_yyyy_hhmmss)")

在这里添加一个 -force cmd-let 怎么样?

于 2012-10-30T11:16:54.593 回答