用于从文件中的名称列表创建文件夹的 Powershell 脚本
Powershell script to create folders from list of names in a file
我有一个文本文件,其中包含不同目录中的文件列表,例如
C:\FolderOne\Testing.jpg
C:\FolderTwo\Test.jpg
我想把这些名字变成文件夹。如果两个文件存在于一个文件夹中,例如 FolderOne
,那么这两个文件应该放在同一个文件夹中。
我知道反斜杠也必须替换为下划线,冒号也必须替换为下划线。
至此,我可以从文件列表中获取内容并将其复制到指定的文件夹中。我想为文件列表中的每个文件创建一个文件夹,但是文件夹名称需要包括C_FolderOne
和C_FolderTwo
等等....
如有任何帮助,我们将不胜感激!
我目前拥有的:
Param (
[String]$model
)
# Debug line
$model = "DEV2";
[String]$drive = "C:";
#Go to the PG_dump directory
CD "C:\Program Files\PostgreSQL.4\bin"
##Execute PG_dump with no password
.\pg_dump.exe --host localhost --port 5432 --username "postgres" --role "postgres" --no-password --format custom --blobs --verbose --file "C:\Test$date-DEV-$X.backup" "DEV"
#Get the content from the file list
$file_list = Get-Content "$drive\Testing\DEV33.txt"
foreach ($file in $file_list)
{
Copy-Item $file -Destination "C:\Testing"
}
这里有一种方法可以满足您的要求。它将获取文件的父路径并创建目标文件夹。
## Get the content from the file list.
foreach ($file in Get-Content -Path "$drive\Testing\DEV33.txt") {
$name = (Split-Path -Path $file -Parent) -replace '\', '_' -replace ':'
New-Item -Path "path\to$name" -ItemType Directory
}
我有一个文本文件,其中包含不同目录中的文件列表,例如
C:\FolderOne\Testing.jpg
C:\FolderTwo\Test.jpg
我想把这些名字变成文件夹。如果两个文件存在于一个文件夹中,例如 FolderOne
,那么这两个文件应该放在同一个文件夹中。
我知道反斜杠也必须替换为下划线,冒号也必须替换为下划线。
至此,我可以从文件列表中获取内容并将其复制到指定的文件夹中。我想为文件列表中的每个文件创建一个文件夹,但是文件夹名称需要包括C_FolderOne
和C_FolderTwo
等等....
如有任何帮助,我们将不胜感激!
我目前拥有的:
Param (
[String]$model
)
# Debug line
$model = "DEV2";
[String]$drive = "C:";
#Go to the PG_dump directory
CD "C:\Program Files\PostgreSQL.4\bin"
##Execute PG_dump with no password
.\pg_dump.exe --host localhost --port 5432 --username "postgres" --role "postgres" --no-password --format custom --blobs --verbose --file "C:\Test$date-DEV-$X.backup" "DEV"
#Get the content from the file list
$file_list = Get-Content "$drive\Testing\DEV33.txt"
foreach ($file in $file_list)
{
Copy-Item $file -Destination "C:\Testing"
}
这里有一种方法可以满足您的要求。它将获取文件的父路径并创建目标文件夹。
## Get the content from the file list.
foreach ($file in Get-Content -Path "$drive\Testing\DEV33.txt") {
$name = (Split-Path -Path $file -Parent) -replace '\', '_' -replace ':'
New-Item -Path "path\to$name" -ItemType Directory
}