我需要在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
我不确定我在这里缺少什么,你能帮帮我吗,
答案 0 :(得分: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
答案 1 :(得分:0)
不要使用COM对象。目录创建是使用New-Item
cmdlet完成的,一个简单的快捷方式是使用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!"
}