![](/img/trans.png)
[英]How do I loop through a CSV file with a batch or PowerShell script?
[英]How do I convert condition in batch script to PowerShell?
我有使用 for 的批处理脚本。 我想将其转换为 PowerShell 脚本,任何人都可以提供帮助吗?
for %%i in (c d e f g h) do (
dir %%i: > nul 2>&1
if not errorlevel 1 (
if exist %%i:\System.sav\CTO.txt (
set WinDrive=%%i:
)
)
)
我的期望,我可以将其转换为 PowerShell 脚本
看起来您只是想创建一个名为 WinDrive 的变量。 在 Powershell 中,由于变量以 $ 开头,因此最接近的转换是将 $WinDrive 设置为驱动器号(如果在其上找到该文件)。 通过做
foreach($DriveLetter in @('c','d','e','f','g','h'))
{
if(Test-Path "$DriveLetter`:\System.sav\CTO.txt")
{
$WinDrive = "$DriveLetter`:"
}
}
如果您希望它更加动态,您可以检测系统上所有可用的驱动器号。
foreach($DriveLetter in $(Get-PSDrive -PSProvider FileSystem | Select-Object -ExpandProperty Root))
{
if(Test-Path "$DriveLetter`System.sav\CTO.txt")
{
$WinDrive = "$DriveLetter"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.