大家好哦 今天给大家做一个用批处理批量建立 删不掉 打不开的文件夹 呵呵 但有点电脑常识还是可以删掉的 ~ ~
大家看我操作吧 ~
用到的是 批处理中for命令 学会程序朋友都知道 for是循环的意思 但是其中还有 几个参数 我们今天要用到的参数就是 for /l 我们cmd一下 输入for /? 看看for 到底都有哪些功能 for /?>c:\for.txt 将结果输出到c盘根目录下 并取名为for.txt我们看下
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 序列 (5 4 3 2 1)。
看以上的说明 和代码 我为大家讲解一下 FOR /L 这个呢 默认就可以 %variable 这个呢是变量 比如 %c 一个%是在cmd下面操作 如果是批处理就得两个%%c IN 是关键字 也照写
(start,step,end) 这括号里面的单词 大家应该不陌生吧
start 开始, step步长,end结束 也就是开始值 步长值 然后是终止值 DO 也是关键字 照写 command 顾名思意 是命令的意思 用到的命令是dos中的命令 今天我们主要是讲建立 文件所以得用md命令 关于dos命令我就不多讲 有兴趣的朋友可以自己去查资料
那我们的命令应该怎样写 我先写出来吧
for /l %%c in (1,1,10) do md %%c 那代码呢就是这样 我们试下效果 新建一个后缀为.bat的文件 看能否在本目录下建立1到10的文件夹
呵 效果马上出来了吧 不过今天我要交给大家一个更绝的
一般人绝对打不开 删不掉 ~~ 我们都知道windows系统中的命名规则吧 中间不允许出现\ 那么我们要做的是在dos下破解这个限制 我们先在cmd下试试看
md 1..\ 在c盘下建立 1..\这样的文件夹 找下去 试验是否打的开 和删的掉 提示本文件夹引用了一个不可取的位置 也就说找不到 也无法删除
那我们怎么给里面放东西呢 用copy 命令也就是复制 看我操作 cmd 下操作
C:\>copy 11.txt 1..\ 已复制 1 个文件。 提示成功
我们再复制出来 给外面的源文件删掉 看复制出来的是否有 字 有的话证明我们成功了 复制出来就是0.txt这个文件了
也成功 下面教大家怎样批量建立了吧
for /l %%c in (1,1,100) do md %%c..\ 只需要改一下这句代码就可以了 好了 这样就可以了 试验下 建立一百个 呵呵 教程到此就结束了哦 希望你们能明白
for /l %%c in (1,1,100) do rd %%c..\ 这是传说中的解药
我的博客 http://laowang.me 大家有空来踩猜
教程下载地址:http://yfdisk.com/file/xiao6641167/843a546e/
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到 支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件 名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前 目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
filenameset 为一个或多个文件名。继续到 filenameset 中的 下一个文件之前,每份文件都已被打开、读取并经过处理。 处理包括读取文件,将其分成一行行的文字,然后将每行 解析成零或更多的符号。然后用已找到的符号字符串变量值 调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开 的第一个空白符号。跳过空白行。您可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个或多个 指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和跳格键的 默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth。如果 符号字符串中的最后一个字符星号, 那么额外的变量将在最后一个符号解析之后 分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 filenameset 中使用双引号扩起文件名称。
某些范例可能有助:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或 空格定界符号。请注意,这个 for 程序体的语句引用 %i 来 取得第二个符号,引用 %j 来取得第三个符号,引用 %k 来取得第三个符号后的所有剩余符号。对于带有空格的文件 名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过 tokens= 选项专门得到说明的。您可以通过 tokens= 一行 指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或 'Z' 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;而且, 同时不能有 52 个以上都在使用中。
您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是, 用单引号将括号之间的 filenameset 括起来。这样,该字符 串会被当作一个文件中的一个单一输入行。
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。您现在可以使用下列 选项语法:
~I - 删除任何引号("),扩充 %I %~fI - 将 %I 扩充到一个完全合格的路径名 %~dI - 仅将 %I 扩充到一个驱动器号 %~pI - 仅将 %I 扩充到一个路径 %~nI - 仅将 %I 扩充到一个文件名 %~xI - 仅将 %I 扩充到一个文件扩展名 %~sI - 扩充的路径只含有短名 %~aI - 将 %I 扩充到文件的文件属性 %~tI - 将 %I 扩充到文件的日期/时间 %~zI - 将 %I 扩充到文件的大小 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径 %~nxI - 仅将 %I 扩充到一个文件名和扩展名 %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名 %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个驱动器号和路径。 %~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法 用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名 比较易读,而且避免与不分大小写的组合键混淆。