@echo off
set /p filename=please enter name of file..:
echo "%filename%"
(
echo %filename%
if exist { C:\Windows\System32\%filename% }
(
wmic datafile where name="C:\\Windows\\System32\\%filename%" get version
wmic datafile where name="C:\\Windows\\System32\\%filename%" get path
)
else
(
wmic datafile where name="C:\\Windows\\System32\\drivers\\%filename%" get version
wmic datafile where name="C:\\Windows\\System32\\drivers\\%filename%" get path
)
) >output.txt
start notepad.exe output.txt
Run Code Online (Sandbox Code Playgroud)
我制作了这个批处理文件来搜索文件、命名文件、获取文件版本并在文本文件中打印现有文件的路径。但是如果 else 块无法正常工作。帮助我并提前致谢。:-)
A)Set /p有引号以允许长文件名,这是一种很好的做法。
B)if exist行出于同样的原因有引号,加上括号在行的末尾
C)) else (必须在一行上
@echo off
set /p "filename=please enter name of file..: "
echo "%filename%"
(
echo %filename%
if exist "C:\Windows\System32\%filename%" (
echo block 1
wmic datafile where name="C:\\Windows\\System32\\%filename%" get version
wmic datafile where name="C:\\Windows\\System32\\%filename%" get path
) else (
echo block 2
wmic datafile where name="C:\\Windows\\System32\\drivers\\%filename%" get version
wmic datafile where name="C:\\Windows\\System32\\drivers\\%filename%" get path
)
) >output.txt
start notepad.exe output.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3092 次 |
| 最近记录: |