无忧启动论坛

标题: dos命令求教。写个批处理 [打印本页]

作者: tianxiashuma    时间: 2010-10-26 17:08
标题: dos命令求教。写个批处理
例如
x:\windows\1.txt  我改名为2.txt  (x代表我不知道这个盘符是什么)

批处理实现。
寻找 所有硬盘分区下 \windows\下有没有1.txt 如果有的话改名为2.txt

看批处理实在是好难噢。


已经解决。代码如下。
for %%c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
        if exist %%c:\windows\1.txt ren %%c:\windows\1.txt 2.txt
                    )

回2楼。-dos时代菜鸟 按你的来不过不行噢。
回9楼。 已经成功了噢!-dos批处理某些时刻很强大!
感谢版主大人的热心解答。

又有问提了。汗。老是提问。都不好意思了。

如果我寻找两个文件。并改名呢?
for %%c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
        if exist %%c:\WINDOWS\system32\1.exe ren %%c:\WINDOWS\system32\1.exes
for %%%c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
        if exist %%%c:\WINDOWS\system32\drivers\2.sys %%%c:\WINDOWS\system32\drivers\2.syss


这样貌似是不行的。

[ 本帖最后由 tianxiashuma 于 2010-10-27 18:59 编辑 ]

12.jpg (33.91 KB, 下载次数: 57)

谢谢时代菜鸟的指教,不过还是不行

谢谢时代菜鸟的指教,不过还是不行

作者: dos时代菜鸟    时间: 2010-10-26 18:27
不用批处理,一句话就可以解决

写得着急居然把 ren 命令写错了,现在纠正。
这样简单的命题,不用编辑批处理的,就用这样一句话就可以解决。

  1. for  %c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (if exist %c:\windows\1.txt ren  %c:\windows 1.txt %c:\windows\2.txt)
复制代码

[ 本帖最后由 dos时代菜鸟 于 2010-10-27 19:01 编辑 ]
作者: tianxiashuma    时间: 2010-10-26 18:56
标题: 回复 #2 dos时代菜鸟 的帖子
c:\windows\ 下没有1.txt 噢。我是放在d盘的。。
作者: tianxiashuma    时间: 2010-10-26 18:59
傻方法。。琢磨出的。。
ren c:\WINDOWS\1.txt 2.txt
ren d:\WINDOWS\1.txt 2.txt
ren e:\WINDOWS\1.txt 2.txt
ren f:\WINDOWS\1.txt 2.txt
ren g:\WINDOWS\1.txt 2.txt
ren h:\WINDOWS\1.txt 2.txt

一直下去。。。。
作者: haiou327    时间: 2010-10-26 19:57
for %%c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
        if exist %%c:\windows\1.txt ren %%c:\windows\2.txt
                    )

[ 本帖最后由 haiou327 于 2010-10-26 19:59 编辑 ]
作者: tianxiashuma    时间: 2010-10-26 20:18
标题: 回复 #5 haiou327 的帖子
还是不可以。。。运行如下。


D:\>12.bat

D:\>for %c in (c d e f g h i j k l m n o p q r s t u v w
\windows\1.txt ren %c:\windows\2.txt )

D:\>(if exist c:\windows\1.txt ren c:\windows\2.txt )

D:\>(if exist d:\windows\1.txt ren d:\windows\2.txt )
命令语法不正确。

D:\>(if exist e:\windows\1.txt ren e:\windows\2.txt )
命令语法不正确。

D:\>(if exist f:\windows\1.txt ren f:\windows\2.txt )

D:\>(if exist g:\windows\1.txt ren g:\windows\2.txt )

D:\>(if exist h:\windows\1.txt ren h:\windows\2.txt )

D:\>(if exist i:\windows\1.txt ren i:\windows\2.txt )

D:\>(if exist j:\windows\1.txt ren j:\windows\2.txt )

D:\>(if exist k:\windows\1.txt ren k:\windows\2.txt )

D:\>(if exist l:\windows\1.txt ren l:\windows\2.txt )

D:\>(if exist m:\windows\1.txt ren m:\windows\2.txt )

D:\>(if exist n:\windows\1.txt ren n:\windows\2.txt )

D:\>(if exist o:\windows\1.txt ren o:\windows\2.txt )

D:\>(if exist p:\windows\1.txt ren p:\windows\2.txt )

D:\>(if exist q:\windows\1.txt ren q:\windows\2.txt )

D:\>(if exist r:\windows\1.txt ren r:\windows\2.txt )

D:\>(if exist s:\windows\1.txt ren s:\windows\2.txt )

D:\>(if exist t:\windows\1.txt ren t:\windows\2.txt )

D:\>(if exist u:\windows\1.txt ren u:\windows\2.txt )

D:\>(if exist v:\windows\1.txt ren v:\windows\2.txt )

D:\>(if exist w:\windows\1.txt ren w:\windows\2.txt )

D:\>(if exist x:\windows\1.txt ren x:\windows\2.txt )

D:\>(if exist y:\windows\1.txt ren y:\windows\2.txt )

D:\>(if exist z:\windows\1.txt ren z:\windows\2.txt )
作者: dos时代菜鸟    时间: 2010-10-26 20:36
和你说不清楚了,自己学习去吧。
运行 for /?   和 if /? 如果能明白在说。不然没有人能和你说清楚。
作者: Halloween    时间: 2010-10-26 20:41
明显是ren错了……
作者: haiou327    时间: 2010-10-26 20:56
for %%c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
        if exist %%c:\windows\1.txt ren %%c:\windows\1.txt 2.txt
                    )
作者: zxw    时间: 2010-10-26 21:33
命令行下应该是:for %c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (if exist %c:\windows\1.txt ren %c:\windows\1.txt 2.txt)
批处理中才是楼上的写法。

[ 本帖最后由 zxw 于 2010-10-26 21:45 编辑 ]
作者: dos时代菜鸟    时间: 2010-10-27 10:46
如果 1.txt 和 2.txt 同时存在的情况下,是无法把1.txt 更名成 2.txt 的。
作者: tianxiashuma    时间: 2010-10-27 18:47
标题: 回复 #10 zxw 的帖子
谢谢!dos下运行正确!
原来是在windows下commad.exe运行的。。
作者: tianxiashuma    时间: 2010-10-27 18:47
标题: 回复 #11 dos时代菜鸟 的帖子
嗯。谢谢。!
我很菜。。。dos命令
作者: haiou327    时间: 2010-10-27 23:29
for %%c in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
       if exist %%c:\WINDOWS\system32\1.exe ren %%c:\WINDOWS\system32\1.exe 1.exes
          if exist %%c:\WINDOWS\system32\drivers\2.sys ren %%c:\WINDOWS\system32\drivers\2.sys 2.syss
             )




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3