2012-10-29 92 views
3

我有大約50個xml文件,每次運行特定邏輯時都會新生成。現在我想將這50個文件存儲在特定的日期時間文件夾內。不管有多少次我在一個特定的日期運行該邏輯,xml文件應該僅在該特定日期被覆蓋(基於hhmmss)。簡單地說,如何使用基於當前日期的名稱創建文件夾,並根據日期將xml文件存儲在其中?如何使用基於Powershell中當前日期的名稱創建文件夾?

對於如:有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:\測試\ 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專業版。

任何幫助將不勝感激。

感謝

回答

3

試試這個:評論後

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" 
+0

這有點工作..但是,我有$ rptDir =「C:\ Test」。當我將上面的變量賦值給$ xmlLoc = New-Item -Path。-ItemType Directory -Name(「XML _ $(Get-Date -f ddMMyyyy_hhmmss)」),我將$ xmlLoc追加到「C:\ Test \ $ xmlLoc」中,它表示不支持給定路徑的格式。我怎樣才能追加它? –

+0

@ashishg你如何追加它?嘗試'($ rptdir +'\'+ $ xmlLoc.Name)'。它返回一個完整路徑的字符串 –

+0

我試過 - $ rptDir =「C:\ Test」+'\'+ Location.Name和我爲xml文件的輸出設置的變量是$ outputFile = $ rptDir \ File1 .xml「,但仍然是相同的錯誤,而且,在這種情況下,xml datetime文件夾是在腳本實際所在的文件夾中創建的(不包含xml文件File1.xml),而不是$ rptDir。 –

2

完整的版本是:

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

您也可以使用MD或MKDIR

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

如何添加-force CMD-讓這裏?

相關問題