我想创建一个For循环来查看程序是否在闪存驱动器上,如果是,则复制文本文件。因为每台电脑的驱动器号都不一样,我想让它查看每个驱动器号。
if exist "D:Test.exe" (
copy "%FileName%.txt" "D:" >nul
)
if exist "E:Test.exe" (
copy "%FileName%.txt" "E:" >nul
)
if exist "F:Test.exe" (
copy "%FileName%.txt" "F:" >nul
)
if exist "G:Test.exe" (
copy "%FileName%.txt" "G:" >nul
)
Rem ...Continues possibly until drive Z or once it finds the file
是否有一种方法来创建一个For循环来增加驱动器号,所以我不必每次都做一个If语句?
这是一个社区wiki,每个用户的评论都包含了所有方法。
Squashman
@echo off
FOR %%G IN (A B C D etc..Z) DO IF EXIST "%%G:test.exe" copy
那么,用Aacini
的ascii格式的出口码65
到90
的非常直观的方法。
@echo off
setlocal enabledelayedexpansion
for /L %%i in (65,1,90) do cmd /C exit %%i & if exist "!=ExitCodeAscii!:test.exe" copy...
然后my
建议使用wmic
查找设备上所有可用的实际驱动器号:
@echo off
for /f "tokens=2*delims==" %%i in ('wmic logicaldisk get caption /value') do for /f "delims=" %%d in ("%%i") do if exist "%%dtest.exe" copy ...