0

我需要在 power shell 中创建一个动态文件夹并将一些文件复制到另一个位置。我正在使用以下脚本。

$fso = new-object -ComObject scripting.filesystemobject

$fso.CreateFolder("d:\logs $(get-date -f yyyy-MM-dd-hh-mm-ss)")

我正在尝试将上面创建的文件夹路径传递给一个变量,并在下面的复制项中使用它

$A=$fso.CreateFolder("d:\logs $(get-date -f yyyy-MM-dd-hh-mm-ss)")

进而

copy-item c:\logs $A

我不确定我在这里缺少什么,请您帮帮我,

4

2 回答 2

3

尽可能避免使用 COM 对象。尝试这样的事情:

#Create folder
$f = New-Item "d:\logs\$(get-date -f yyyy-MM-dd-hh-mm-ss)" -ItemType Directory -Force

#Copy all files inside c:\logs to new folder (if you need to include files from subfolders, add -Recurse parameter)
Copy-Item C:\logs\* $f.FullName
于 2013-11-08T08:26:18.653 回答
0

不要使用 COM 对象。目录创建是用New-Itemcmdlet 完成的,一个简单的快捷方式就是这样使用md

# Directory name is created with a format string
$dirName = "c:\temp\logs_{0}" -f (get-date).ToString("yyyy-MM-dd-hh-mm-ss")
$dirName # Check the output
c:\temp\logs_2013-11-08-10-18-42

# Create dir if needed
if(-not (test-path $dirName)) {
    md $dirName | out-null
} else {
    write-host "$dirName already exists!"
}
于 2013-11-08T08:23:09.037 回答