Board logo

标题: 创建文件夹的批处理中set命令里面的变量是什么意思? [打印本页]

作者: stu_p    时间: 2011-4-1 11:23     标题: 创建文件夹的批处理中set命令里面的变量是什么意思?

  1. @echo off
  2. set d=%~d1%~p1extract
  3. md "%d%"
  4. for /f "delims=" %%i in ('dir "%~f1\*.jpg"/s /b /a:-s-d') do (
  5. set/a num+=1
  6. call copy "%%i" "%d%\%%num%%.jpg">nul
  7. )
  8. pause
复制代码
上面的代码中set d=%~d1%~p1extract是设定一个变量%d%,md "%d%"是以这个变量创建一个文件夹,执行这个批处理时
md "%d%"这句只创建了一个名为extract的文件夹,其中的%~d1%~p1是什么意思?('dir "%~f1\*.jpg"/s /b /a:-s-d')
中的%~f1是什么意思?
菜鸟初学,请各位老师指点一下,最好从第二句开始讲一下,谢谢!
作者: wc726842270    时间: 2011-4-1 11:27

这个还是很简单的
CMD下FOR/?看一下就差不多了,如果仅想了解相关的,只看最后一屏即可
作者: batman    时间: 2011-4-1 11:46

这应该是一段被调用的批,其中的%1就是传给这个批的参数,至于%~f1 %~d1 %~p1这些论坛有详细的说明,你也可以用二楼的方法查看。。。
作者: stu_p    时间: 2011-4-1 15:18

FOR/?看不懂~~~没一个帮忙的???
作者: haiou327    时间: 2011-4-2 00:00

本帖最后由 haiou327 于 2011-4-2 10:30 编辑

.                                       
                    .
@echo off&setlocal ENABLEDELAYEDEXPANSION
set d=%~dp1extract
if not exist "!d!" md "!d!"
for /f "delims=" %%i in ('dir "%~f1\*.jpg" /s /b /a:-s-d') do (
   set
/a num+=1
   
copy "%%i" "!d!\!num!.jpg">nul
   echo
%%~nxi
                )

作者: haiou327    时间: 2011-4-2 00:11

本帖最后由 haiou327 于 2011-4-2 10:28 编辑

.
                   .
@echo off
set d=%~dp1extract
if not exist "%d%" md "%d%"
for /f "delims=" %%i in ('dir "%~f1\*.jpg" /s /b /a:-s-d') do (
   set
/a num+=1
   
call copy "%%i" "%d%\%%num%%.jpg">nul
   
echo %%~nxi
                )





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2