批处理文件失效的解决办法?
先显示出文件的扩展名.

再查看你的c:\windows\system32\文件夹里的cmd.exe
很有可能会是cmd.exe.exe.exe手动将它改为cmd.exe
然后再运行以下批处理,将所有exe文件,改回原样即可.

复制代码后,手动删除每行最后多余的空格.
@echo off
cd/d c:\windows\system32

for /f "tokens=1* delims=." %%i in ('dir/b *.exe') do (
ren %%i.%%j %%i.exe
在批处理中%是什么意思,作用?
如果是 %a% 这种形式 ,就是变量的引用,
@echo off
set a=123 rem定义一个变量a 赋值为123
echo %a% rem显示出变量a的值(如果不加% %系统会把a当字符处理了,不会当成变量的)
%%i 这种变量是for 语句里面 特有的变量(还有一种是外部变量,接受外部参数的格式是%1 -%9 共9个变量),只有在批处理里面才写 两个 %% 号表示变量,cmd中只用 一个 % 号。反正只要你在批处理文件里面用 for,变量就用 %%。例如
批处理中的写法
for %%i in (1 2 3 4 5 ) do echo %%i
为什么批处理中用两个 %%,其实是编译器编译的时候要屏蔽一个%
在cmd窗口中写法
for %i in (1 2 3 4 5 ) do echo %i
到此,以上就是小编对于windows批处理for循环的问题就介绍到这了,希望介绍的2点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。