Board logo

标题: [文本处理] [已解决]批处理%*的用法 [打印本页]

作者: 雨夜秋风    时间: 2010-7-23 20:19     标题: [已解决]批处理%*的用法

  1. @echo off
  2. title 批量复制工具
  3. color 0a
  4. set e="%*"
  5. for /f "delims=\ tokens=2" %%a in (%e%) do (
  6. if %%a==   (format) else copy
  7. )
  8. pause
复制代码
我拖可移动磁盘到这个批处理图标上没有东西显示
当我拖可移动磁盘里的一个文件夹就是显示文件夹名
if %%a==要等于什么才可以判断出来?
作者: broly    时间: 2010-7-23 20:33

不明白你什么意思

if %%a==要等于什么才可以判断出来  这句话怎么理解?
作者: 雨夜秋风    时间: 2010-7-23 20:49     标题: 回复 2楼 的帖子

比如我拖入的文件夹路径直是“E:\好东西专区\123”
但经过"for /f "delims=\ tokens=2" %%a in (%e%) do" 提取后是“好东西专区”拖入E盘时没有任何显示。
%%a要等于什么,命令才可以成立?
作者: broly    时间: 2010-7-23 21:19

勉强理解了,应该这样吧。最好把意思再表达清楚些

  1. @echo off
  2. title 批量复制工具
  3. color 0a
  4. set "e=%*"
  5. for /f "delims=\ tokens=2" %%a in ("%e%\*") do (
  6. if "%%a"=="好东西专区" (format) else copy
  7. )
  8. pause
复制代码

作者: 雨夜秋风    时间: 2010-7-24 08:38     标题: 回复 4楼 的帖子

这样我知道是可以。如果我拖入别一个文件夹名为“我写的批处理”
if %%a==好东西专区, “好东西专区”又不能自成动变为“我写的批处理”我想搞智能化一点。不管你拖放什么文件夹在那个盘里都可以实现的那种。
作者: broly    时间: 2010-7-24 09:31

这样?

  1. @echo off
  2. title 批量复制工具
  3. color 0a
  4. set "e=%*"
  5. for /f "delims=\ tokens=2" %%a in ("%e%\*") do (
  6. if not "%%a"=="" (format) else copy
  7. )
  8. pause
复制代码

作者: 雨夜秋风    时间: 2010-7-24 10:16     标题: 回复 6楼 的帖子

还是不行的呀!显示找不到所需的参数
作者: 雨夜秋风    时间: 2010-7-24 10:27     标题: 回复 6楼 的帖子

  1. @echo off
  2. title 批量复制工具
  3. color 0a
  4. set "e=%*"
  5. for /f "delims=\ tokens=2" %%a in ("%e%\*") do (
  6. if "%%a"=="*" (echo format) else echo copy
  7. )
  8. pause
复制代码
这样才行

[ 本帖最后由 雨夜秋风 于 2010-7-24 11:15 编辑 ]
作者: 雨夜秋风    时间: 2010-7-24 11:14     标题: 回复 6楼 的帖子

谢谢你这么的支持我
谢了
作者: broly    时间: 2010-7-24 11:19

you are welcomed.




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