我是 powershell 的新手,但已经弄清楚了我在工作中的项目所需要的一些东西。我们在与测试位置相关的文件夹中有测试结果文件(PDF、XLS.TXT 等)。大多数文件夹都有包含文件的子文件夹。老板规定必须在文件名末尾附加测试日期(test_results.pdf -> test_results - 2014-05-06.pdf)。
我的代码确实获得了创建日期并附加了它,但是它仅适用于源文件夹中的文件夹,它还附加了文件夹的创建日期。如果所有文件都位于正确的位置,我不介意文件夹名称中的日期。源子文件夹中的文件被写入新子文件夹,但不附加创建日期。
任何帮助是极大的赞赏。这是我的代码:
$SourceDir= 'C:\modem\'
$targetDir = 'C:\test2\'
set-location -path $sourceDir
$files = get-childitem -recurse
foreach ($file in $files)
{
[string]$strippedFileName =[io.path]::GetFileNameWithoutExtension($file);
[string]$extension = [io.Path]::GetExtension($file);
[string]$crtime=$file.CreationTime.toString(' - yyyy-MM-dd');
[string]$sourceFilePath = $file.DirectoryName;
[string]$DestinationFile = $targetDir + $sourcefilepath.trimstart($sourceDir) + "\" + $strippedFileName +$crtime + $extension;
Copy-Item $file.Fullname -Destination $DestinationFile -recurse -Force
}
谢谢你,
汤姆