有点背景...
我经常使用Windows XP,Vista和7。因此,我经常不得不将我的程序设置从每台PC上的%appdata%
文件夹移到下一个。我认为制作一个PowerShell脚本来为我做这件事,并在完成后删除这些文件夹可以减轻我的麻烦。由于我通常在闪存驱动器上工作,所以我希望能够使用相对路径,但这似乎给我带来了一些麻烦,但最大的问题是我似乎无法了解Powershell足以知道哪些错误我正在制作以及如何解决它...所以我来到了这里。
我想我可以将任务分成两个脚本;一个用于放置目录,另一个用于将它们复制回原始文件夹并去除它们后面的任何痕迹。到目前为止,我会告诉你我想要的。我想找回他们可能会更困难,所以我开始在那里。这是迄今为止我所拥有的。我正在使用一个txt文件,以便更新我想要或需要传输的文件夹列表,以便它也被变量作为目标。PowerShell:目录检索和语法错误
$fldrtxt = Get-Content .\FolderList.txt
$dirget = -LiteralPath ="'%appdata%'\$_fldertxt"
$dirpost = "./Current"
# get-command | Add-Content .\"$today"_CommandList.txt
Set-Location c: {get-content $_dirget} | %{ copy-item $_dirpost}
我无法让PowerShell识别与使用运行实用程序时使用的命令相同的命令。由于我确定我可以使用%appdata%
来引用我要从哪里获取文件夹的位置,我怎么能不写这个脚本来做我想要的?我可以使用绝对路径,因为我必须为所有三台计算机使用单独的脚本。而我不想。
如何使用PowerShell来执行我想要的操作并定位我需要使用的文件夹?
作为一般性评论,您的变量命名在PowerShell的世界中令人困惑。像$ _dirget这样的变量看起来很奇怪,因为很多cmdlet都提供了一个特殊变量$ _,这意味着“当前正在管道中的对象”。因此你可能会看到类似于:get-process | foreach-object {$ _。PM/1KB} ...鉴于此,命名$ _PM将是一个坏主意。 – 2012-02-21 17:46:41
我会改变我的语法练习。感谢您的高举。 – 2012-02-21 18:41:41