我有一些脚本需要针对十几个文件夹运行,所有文件夹都具有相对路径。我正在尝试使用一个主脚本来解决这个问题,该脚本针对该路径中的每个文件夹运行,一次一个文件夹。这些文件夹都是以下路径中“此处”文件夹的子级。我似乎无法正确理解语法,但我想我已经接近了:)
是否有一种更有效的方法来针对目录中每个文件夹的内容(一次一个文件夹)运行脚本?
$pdfFolder = 'C:\path\to\folders\here'
$Completed = Get-ChildItem $pdfFolder -Recurse
ForEach-Object ($Completed){
Invoke-Expression -Command "C:\path\where\scriptis\script.ps1"
}`
Run Code Online (Sandbox Code Playgroud) 我打算通过循环文本文件来设置源PDF的位置变量来使用以下脚本,并指定创建新文件夹(带有周数)的路径以将源PDF移动到.
$pdfSource = 'C:\path\in\text\file'
$newFolder = 'C:\path\to\newfolder\in\text\file'
Get-ChildItem $pdfSource '*.pdf' -Recurse | foreach {
$x = $_.LastWriteTime.ToShortDateString()
$new_folder_name = Get-Date $x -UFormat %V
$des_path = "C:\path\to\newfolder\$new_folder_name"
if (Test-Path $des_path) {
Move-Item $_.FullName $des_path
} else {
New-Item -ItemType Directory -Path $des_path
Move-Item $_.FullName $des_path
}
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚下面这一行的语法,以包含$newFolder路径变量以及$new_folder_name我正在创建的现有变量.
$des_path = "C:\path\to\newfolder\$new_folder_name"
Run Code Online (Sandbox Code Playgroud) powershell ×2