标题: [文件操作] 批处理怎样对同一个文件夹来回改名? [打印本页]
作者: hanruiqi 时间: 2011-5-5 19:12 标题: 批处理怎样对同一个文件夹来回改名?
d盘里有一个文件夹 名称是 小狗
现在写一个批处理,要求是:
如果文件夹名称 是 小狗 就改成 小猫,如果是 小猫 就改成 小狗
如果属性是隐藏就改成显示,如果是显示就改成隐藏。
应该怎么写??
要求批处理文件放在任何一个地方都可以。
作者: lxzzr 时间: 2011-5-5 19:31
这贴http://www.bathome.net/thread-12208-1-1.html有什么问题???
作者: hfg1977 时间: 2011-5-5 20:21
虽然这个问题有够无聊, 我还是写了- @echo off
- setlocal enabledelayedexpansion&cls
- if exist g:\1\ (
- call:get_attrib g:\1 & move g:\1 g:\2
- echo +!f-A_BL!+
- if !f-A_BL!==0 attrib +h g:\2
- ) else (
- if exist g:\2\ (
- call:get_attrib g:\2 & move g:\2 g:\1
- if !f-A_BL!==0 attrib +h g:\1)
- )
- :end
- exit/b
-
- :get_attrib
- set f_A=%~a1
- set f_A=%f_A:~3,1%
- echo "%f_A%"
- if "%f_A%"=="h" (set f-A_BL=1) else (set f-A_BL=0)
- attrib -h -r -s %~1
- goto:eof
复制代码
作者: 冷玉公子 时间: 2011-5-5 20:31
你的问题很简单
第一步取得文件夹的名称 用什么办法都可以
第二步判断文件夹名称 然后执行动作
第一步你没有说文件夹的具体位置信息 所以没有办法给你写
我直接写如果判断吧- @echo off
- Set Var=小猫
- if "%Var%" == "小猫" Ren 小猫 小狗
- if "%Var%" == "小狗" Ren 小狗 小猫
复制代码
这里我就是意思一下 具体怎么拿文件夹名称 你得把具体信息发上来
文件夹的位置是不是固定的 而且这个目录里面是不是只有那一个文件夹
作者: CrLf 时间: 2011-5-5 22:04
隐藏文件是无法直接改名的
作者: yjstone 时间: 2011-5-5 22:08
本帖最后由 yjstone 于 2011-5-6 16:28 编辑
如果你的文件夹在D盘的根目录就试试如下这个吧:- @echo off
- cd /d D:\
- if exist "小狗" (set "dirname=小狗") else set "dirname=小猫"
- dir "%dirname%">nul 2>nul&&set "hide=+"||set "hide=-"
- attrib -h -s %dirname%
- ren "小狗" "小猫"&&attrib %hide%h "小猫"||ren "小猫" "小狗"&attrib %hide%h "小狗"
复制代码
批处理放在哪运行都可以。
作者: CrLf 时间: 2011-5-5 22:22
另类思路- @echo off
- set 1.txt=2.txt
- set 2.txt=1.txt
- if exist 1.txt set g=!
- setlocal enabledelayedexpansion
- dir>nul 2>nul /ah /b "%g%2.txt%g%"&&set "attrib=-h"||set "attrib=+h"
- attrib -h -s %g%2.txt%g%
- ren "%g%2.txt%g%" "%g%1.txt%g%"
- attrib %attrib% "%g%1.txt%g%"
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |