我一直非常成功地使用它,直到有人弄乱了该文件。
所以我需要隐藏该文件或将其移动到隐藏文件夹。我遇到的问题是它在它所在的目录中创建了新文件夹。
我希望它在父目录中创建新文件夹。
###Get the year entered by the user
$year = Read-Host "Please enter year"
$nextyear = [int]$year + 1
$yearfolder = "$year-$nextyear"
###Set the starting date
$startdate = [DateTime] "01 April $($year)"
$count = 1
###Set the file's path by combining the folder path and the filename
$filename = join-Path -Path (Get-location) -ChildPath "a.txt"
###Create folder based on the year entered by the user
New-Item -ItemType Directory -Name "$($yearfolder)"
###Change directory to the newly created folder
cd "$($yearfolder)"
While ( $count -lt 13)
{
###Create folders
$newfolder = "$($count.ToString('00')) - $($startdate.ToString('MMMM yyyy'))"
New-Item -ItemType Directory -Name "$newfolder"
#Copy file to new folder
Copy-Item -Path $filename -Destination $newfolder
#Add one month
$startdate = $startdate.AddMonths(1)
#Increment the counter
$count = $count + 1
}
您可以使用相对路径。
因此,如果您的路径是
"..\MyPath"
并且您创建了该路径,则它将创建为更高一级,然后作为该文件夹的子路径。同样,如果您指定:
"..\..\..\Folder\Another"
它将上升 3 级,然后进入文件夹文件夹(尽管该文件夹必须存在),然后创建另一个。同样,您可以使用
"\Folder\MyFolder"
在根目录中创建文件夹,然后创建子文件夹文件夹,然后创建 MyFolder,它将使用当前驱动器。这样,您的脚本就可以在拇指驱动器上运行,而无需知道它的驱动器号。因此,考虑到这一点,您可以简单地使用以下代码:
或者,如果您想安全起见:
使用 $(...) 基本上允许您将任何命令或变量放入字符串中。
例如,这将不起作用:
但这会起作用: