echo off & cls
set abc=%temp%\abc
echo. 先在系统盘下建立一个abc文件夹
if not exist "%abc%". md "%abc%" || (
echo. 建立失败!按任意键退出!
pause >nul
exit
)
pushd %abc%
echo. 在abc中建立5个文本文件
echo.>1.txt
echo.>2.txt
echo.>3.txt
echo.>4.txt
echo.>5.txt
echo. 现在使用for语句列出abc中的文件:
echo. 打印时用的是:echo.%%I
for /f "tokens=* delims=" %%I in ('dir/b/a *.*') do (
echo.%%I
)
echo. 可以看到列出的只是文件名。
echo. 如果想看到完全的文件路径,
echo. 就可以用所谓的“for 中变量参照的替换已被增强”
echo. 把打印时的echo.%%I改成echo.%%~fI
for /f "tokens=* delims=" %%I in ('dir/b/a *.*') do (
echo.%%~fI
)
echo. 可以看到,列出来的就是完整的文件路径了。
echo. 其他的for变量参照替换都可以在for /?中找到!
echo.
echo.===================
echo. 按任意键删除abc文件夹并退出!
pause >nul
popd
echo. 删除abc文件夹
if exist "%abc%". rd/q/s "%abc%"
exit
[ Last edited by MantisLin on 2010-12-17 at 18:09 ]作者: Hanyeguxing 时间: 2010-12-17 17:54 本身if就有if ... else ... ,所以就不要用
if not exist "%abc%". md "%abc%" || (
echo. 建立失败!按任意键退出!
)作者: MantisLin 时间: 2010-12-17 17:58 你没明白我用||的用意,我用||的用意是防止建立abc文件夹失败!
比如%temp%里正好有一个名为abc,并且没有后缀名的文件,那么||就有作用了。
[ Last edited by MantisLin on 2010-12-17 at 18:10 ]作者: Hanyeguxing 时间: 2010-12-17 18:51 那 if not exist "%abc%". 还有什么意义了?作者: MantisLin 时间: 2010-12-17 20:14 意义在于:如果abc文件夹已经存在,就不需要创建!
不需要创建和防止创建失败是两码事
[ Last edited by MantisLin on 2010-12-17 at 20:20 ]