batch-file - 批处理 /f 遍历所有可用驱动器以搜索文件夹
问题描述
我正在编写简单的脚本来检查可用驱动器中是否存在某个文件夹。但是,如果我只是回显 %%G,则在与 ":\somefolder" 连接时,%%G 总是显示空字符串,它会显示所有可用的驱动器。我是批处理脚本的新手,不确定我在这里缺少什么。
提前致谢。
@echo off
::parse the VER command
FOR /F "tokens=*" %%G IN ('wmic logicaldisk get caption') DO (
IF [%%G]==[] (
echo "empty string"
) ELSE (
SET var="%%G\somefolderpath"
IF EXIST %var% (
echo %var% found
) ELSE (
echo %var% not found
)
)
)
解决方案
这是另一种方法。该WMIC
命令已弃用。
https://itknowledgeexchange.techtarget.com/powershell/wmic-deprecated/
正如其他人所提到的,在 FOR 循环中设置和使用变量需要ENABLEDELAYED EXPANSION
or CALL
。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "delims=" %%G IN ('powershell -NoLogo -NoProfile -Command ^
"(Get-CIMInstance -ClassName Win32_LogicalDisk).DeviceID"') DO (
SET "VAR=%%G\somefolderpath"
IF EXIST "!VAR!" (
echo "!VAR!" found
) ELSE (
echo "!VAR!" not found
)
)
推荐阅读
- django - 问题是图像没有保存。当我选择图像并上传所有代码正常工作但图像不保存 django
- c++ - C++ 新手,请帮助识别代码指针代码的问题
- html - 具有 aria-placeholder 属性的 role="textbox" 跨度出错
- reactjs - 请求标头导致“诺克:请求不匹配”
- java - Kafka Consumer 可以处理数百万的数据吗?在springboot中实现kafka消费者
- jwt - 在 traefik 中验证 JWT 令牌签名
- python - Pandas 索引和 Concat 将形状更改为 1
- postgresql - 从具有某种格式的特定列的值中获取不同的值
- android - Android viewBinding 未绑定布局中的某些视图
- python - Django 时区配置