在使用Powershell选择IIS物理路径后,如何删除/创建/重命名文件?

在使用Powershell选择IIS物理路径后,如何删除/创建/重命名文件?,iis,powershell,Iis,Powershell,我可以查询IIS并获取当前物理路径: $sitepath=获取网站xyz.net |选择对象物理路径 但随后需要在该文件的子目录中找到一个文件并删除/创建/重命名。我遇到的问题是,我看到错误“找不到驱动器。名为“@{physicalPath=d”的驱动器不存在。”对于任何cmdlet,我都会尝试应用于$sitepath。 非常感谢,您需要首先从路径中获取fileinfo或directoryinfo项 只要PhysicalPath不包含环境变量(如%SystemDrive%\inetpub\www

我可以查询IIS并获取当前物理路径: $sitepath=获取网站xyz.net |选择对象物理路径 但随后需要在该文件的子目录中找到一个文件并删除/创建/重命名。我遇到的问题是,我看到错误“找不到驱动器。名为“@{physicalPath=d”的驱动器不存在。”对于任何cmdlet,我都会尝试应用于$sitepath。
非常感谢,

您需要首先从路径中获取fileinfo或directoryinfo项

只要PhysicalPath不包含环境变量(如%SystemDrive%\inetpub\wwwroot),这将起作用:


如果PhysicalPath中确实包含系统变量,请通过展开将变量展开为完整路径:然后使用上述方法获取对文件对象的引用。

该行后面的$sitepath是什么?我怀疑它是1)散列或其他类似对象(而不是字符串)或;2)一个字面上是@{physicalPath=d:\balhblah..}“非常好的帮助,谢谢。一些小事情(可能与PS版本有关,不确定,我在WS 2008 r2上使用v3)…第2行我已更改为:$fileInFolder=“$($SiteFolder)\index.html”我已更新第2行以反映正确的属性名称(全名,而不是全名;抱歉)。
$SiteFolder = get-item (get-website xyz.net).physicalpath
$fileInFolder="$($SiteFolder.fullname)\index.html")
$fileInFolder | gm;
$newFileHandle = $fileInFolder.Copy("C:\New\Path\Of\copiedFile")
$fileInFolder.Move("newfilename.htm"); 
$fileInFolder.Move("c:\new\Path\Of\File")
$FileInFolder.Delete()
$fileinFolder | Remove-Item