Board logo

标题: 为什么循环语句中累加的%n%一直是0 [打印本页]

作者: sx0654     时间: 2010-6-6 12:47    标题: 为什么循环语句中累加的%n%一直是0


cls
@echo off
@title haha的批处理,去除当前目录所有文件及其文件夹的隐藏属性-第五版
@set /a n=0
@color 9f
@echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
@echo ┃haha的批处理:                                        ┃
@echo ┠───────────────────────────┨
@echo ┃去除 当前目录 所有文件及其文件夹的 隐藏 属性  第五版  ┃
@echo ┃放到U盘根目录双击即可                                 ┃
@echo ┠───────────────────────────┨
@echo ┃ 正在处理,请稍候。。。                               ┃
@attrib -s -h "autorun.inf">nul
@if exist "autorun.inf" del /F "autorun.inf">nul
@echo ┠───┬──┬────────────────────┨
@echo ┃ 序号 │结果│详细                                    ┃
@echo ┠───┴──┴────────────────────┨
@echo ┃ 正在处理文件夹,请稍候。。。                         ┃
@echo ┠───┬──┬────────────────────┨
@for /F "tokens=*" %%i in ('dir /A:DH /B') do (
@set /a n+=1
@attrib -s -h "%%i">nul
@attrib -s -h "%%i.exe">nul
@attrib -s -h "%%i.lnk">nul
@if exist "%%i.exe" del /F "%%i.exe">nul
@if exist "%%i.lnk" del /F "%%i.lnk">nul
@echo ┃   %n%        │成功│文件夹【%%i】已恢复
)
@echo ┠───┴──┴────────────────────┨
@echo ┃ 正在处理文件,请稍候。。。                           ┃
@echo ┠───┬──┬────────────────────┨
@for /F "tokens=*" %%i in ('dir /A:H /B') do (
@set /a n+=1
@attrib -s -h "%%i">nul
@echo ┃   %n%        │成功│文件【%%i】已恢复
)
@rem rd autorun.inf /s /q>nul
@rem md autorun.inf>nul
@rem attrib +s +h autorun.inf>nul
@color 20
@echo ┃      │    │                                        ┃
@echo ┠───┴──┴────────────────────┨
@echo ┃   %n%        个文件及与文件夹的 隐藏属性 已清除,按任意键退出┃
@echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

@goto :exit
:exit
@pause>nul
为什么序号%n%不是123456显示的呢?而是显示0000到最后出个结果?
作者: jarry0932     时间: 2010-6-6 13:19

@echo off
setlocal enabledelayedexpansion
title haha的批处理,去除当前目录所有文件及其文件夹的隐藏属性-第五版
set /a n=0
color 9f
echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
echo ┃haha的批处理:                                        ┃
echo ┠───────────────────────────┨
echo ┃去除 当前目录 所有文件及其文件夹的 隐藏 属性  第五版  ┃
echo ┃放到U盘根目录双击即可                                 ┃
echo ┠───────────────────────────┨
echo ┃ 正在处理,请稍候。。。                               ┃
attrib -s -h "autorun.inf">nul
if exist "autorun.inf" del /F "autorun.inf">nul
echo ┠───┬──┬────────────────────┨
echo ┃ 序号 │结果│详细                                    ┃
echo ┠───┴──┴────────────────────┨
echo ┃ 正在处理文件夹,请稍候。。。                         ┃
echo ┠───┬──┬────────────────────┨
for /F "tokens=*" %%i in ('dir /A:DH /B') do (
set /a n=!n!+1
attrib -s -h "%%i">nul
attrib -s -h "%%i.exe">nul
attrib -s -h "%%i.lnk">nul
if exist "%%i.exe" del /F "%%i.exe">nul
if exist "%%i.lnk" del /F "%%i.lnk">nul
echo ┃   !n!        │成功│文件夹【%%i】已恢复
)
echo ┠───┴──┴────────────────────┨
echo ┃ 正在处理文件,请稍候。。。                           ┃
echo ┠───┬──┬────────────────────┨
for /F "tokens=*" %%i in ('dir /A:H /B') do (
set /a n=!n!+1
attrib -s -h "%%i">nul
echo ┃   !n!        │成功│文件【%%i】已恢复
)
rem rd autorun.inf /s /q>nul
rem md autorun.inf>nul
rem attrib +s +h autorun.inf>nul
color 20
echo ┃      │    │                                        ┃
echo ┠───┴──┴────────────────────┨
echo ┃   !n!        个文件及与文件夹的 隐藏属性 已清除,按任意键退出┃
echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
pause>nul

作者: jarry0932     时间: 2010-6-6 13:26
[code]
@echo off
setlocal enabledelayedexpansion
title haha的批处理,去除当前目录所有文件及其文件夹的隐藏属性-第五版
set /a n=0
color 9f
echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
echo ┃haha的批处理:                                        ┃
echo ┠───────────────────────────┨
echo ┃去除 当前目录 所有文件及其文件夹的 隐藏 属性  第五版  ┃
echo ┃放到U盘根目录双击即可                                 ┃
echo ┠───────────────────────────┨
echo ┃ 正在处理,请稍候。。。                               ┃
attrib -s -h "autorun.inf">nul
if exist "autorun.inf" del /F "autorun.inf">nul
echo ┠───┬──┬────────────────────┨
echo ┃ 序号 │结果│详细                                    ┃
echo ┠───┴──┴────────────────────┨
echo ┃ 正在处理文件夹,请稍候。。。                         ┃
echo ┠───┬──┬────────────────────┨
for /F "tokens=*" %%i in ('dir /A:DH /B') do (
set /a n=!n!+1
attrib -s -h "%%i">nul
attrib -s -h "%%i.exe">nul
attrib -s -h "%%i.lnk">nul
if exist "%%i.exe" del /F "%%i.exe">nul
if exist "%%i.lnk" del /F "%%i.lnk">nul
echo ┃   !n!        │成功│文件夹【%%i】已恢复
)
echo ┠───┴──┴────────────────────┨
echo ┃ 正在处理文件,请稍候。。。                           ┃
echo ┠───┬──┬────────────────────┨
for /F "tokens=*" %%i in ('dir /A:H /B') do (
set /a n=!n!+1
attrib -s -h "%%i">nul
echo ┃   !n!        │成功│文件【%%i】已恢复
)
rem rd autorun.inf /s /q>nu