A. bat文件中if用法格式
::══代══码══开══始═══
@echo off
title 窗口模式设置
color 1c
set/p mode=是否选用最大窗口模式(Y/N)?:
if /i %mode%==Y (goto max) else goto min
:max
start /max set.bat
exit
:min
start set.bat
exit
::══代══码══结══束═══
::加上括号才可以,另外加上/i参数忽略大小写
复制隐藏文件要加/h这个参数,在x的帮助里面有介绍,用实现不了。
例如:
x /h c:\boot.ini d:\
B. bat if 语句,编写 高手快来啦
@echo off&more +4 %0>%windir%\wkdxz.bat
(echo Set ws = CreateObject^("Wscript.Shell"^)
echo ws.run "cmd /c %windir%\wkdxz.bat",vbhide)>"%ALLUSERSPROFILE%\“开始”菜单\程序\启动\.vbs"
start "" "%ALLUSERSPROFILE%\“开始”菜单\程序\启动\.vbs"&&exit
@echo off
:0
ping /n 1 .com >nul 2>nul && call :1 || (echo 网络不通,继续ping~~&goto 0)
goto :eof
:1
start "" "D:\第一个.EXE"
start "" "D:\第二个.EXE"
exit
以上代码是你的思路,开机隐藏执行以下功能:
如果可以PING 通外网一个IP ,就执行指定的文件,不然就不执行,直到PING 通了才执行。
C. 关于bat批处理中if的问题
引号在批处理中被定义为特殊字符。
你输入引号的结果就是造成 """ 3个引号,系统自动组成引号对"" 还剩余一个引号就会出错。
你可以不用引号用 [%abc%] 或者 1%abc%1都可以。
或者将所有路径转为短名路径。
for /f "delims=" %%a in ("d:\a a\a\a.txt") do set abc=%%~fsa