在PowerShell中强制删除目录及其所有子目录的最简单方法是什么?我在Windows 7中使用PowerShell V2.
我从几个消息来源获悉,最明显的命令,Remove-Item $targetDir -Recurse -Force无法正常工作.这包括PowerShell V2在线帮助(找到使用Get-Help Remove-Item -Examples)中的声明,其中声明:
...由于此cmdlet中的Recurse参数有问题,因此该命令使用Get-Childitem cmdlet获取所需的文件,并使用管道运算符将它们传递给Remove-Item cmdlet ...
我已经看到了各种使用Get-ChildItem并将其传递给Remove-Item的示例,但这些示例通常会根据过滤器而不是整个目录删除一些文件集.
我正在寻找最简洁的方法来吹灭整个目录,文件和子目录,而不使用最少量的代码生成任何用户警告消息.如果容易理解,单行会很好.
使用PowerShell,我想用一个替换[MYID]给定文件中的所有确切事件MyValue.最简单的方法是什么?
有没有办法从Windows资源管理器中的特定文件夹中启动PowerShell,例如右键单击文件夹并选择"在此文件夹中打开PowerShell"?
在我第一次每天运行MSBuild时必须将目录更改为我的项目文件夹真的很烦人.
如何在PowerShell中否定条件测试?
例如,如果我想检查目录C:\ Code,我可以运行:
if (Test-Path C:\Code){
write "it exists!"
}
Run Code Online (Sandbox Code Playgroud)
有没有办法否定这种情况,例如(非工作):
if (Not (Test-Path C:\Code)){
write "it doesn't exist!"
}
Run Code Online (Sandbox Code Playgroud)
解决方法:
if (Test-Path C:\Code){
}
else {
write "it doesn't exist"
}
Run Code Online (Sandbox Code Playgroud)
这很好,但我更喜欢内联.
您知道如果您是系统的管理用户,您可以右键单击"说",批处理脚本并以管理员身份运行它而不输入管理员密码吗?
我想知道如何使用PowerShell脚本执行此操作.我不想输入密码; 我只是想模仿右键单击Run As Administrator方法.
到目前为止我读到的所有内容都要求您提供管理员密码.
我正在更新管理某些.NET程序集的PowerShell脚本.该脚本是针对针对.NET 2构建的程序集(与PowerShell运行的框架的相同版本)编写的,但现在需要使用.NET 4程序集以及.NET 2程序集.
由于.NET 4支持运行针对旧版本框架构建的应用程序,因此最简单的解决方案是在需要针对.NET 4程序集运行时,使用.NET 4运行时启动PowerShell.
如何使用.NET 4运行时运行PowerShell?
我正在使用PowerShell 2.0,我想要管理某个路径的所有子目录.以下命令输出所有文件和目录,但我无法弄清楚如何过滤掉文件.
Get-ChildItem c:\mypath -Recurse
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用$_.Attributes获取属性,但后来我不知道如何构建一个文字实例System.IO.FileAttributes来比较它.在cmd.exe它会
dir /b /ad /s
Run Code Online (Sandbox Code Playgroud) 我在所有文件夹中搜索文件.
Copyforbuild.bat 很多地方都有,我想递归搜索.
$File = "V:\Myfolder\**\*.CopyForbuild.bat"
Run Code Online (Sandbox Code Playgroud)
我怎么能在PowerShell中做到这一点?