标题: [文件操作] 批处理怎样操作畸形文件夹? [打印本页]
作者: zjw767676 时间: 2010-11-23 23:42 标题: 批处理怎样操作畸形文件夹?
谁能操作这个畸形文件夹?(XP SP3 NTFS文件系统)
好像把它当做文件了!
作者: more 时间: 2010-11-24 00:13
- start "" "h:\shishi\zw~1\"
复制代码
作者: wc726842270 时间: 2010-11-24 02:41
以下是小弟转载的
很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。例子说明:
start "CS" "c:\programme files\cs\half-life.exe" "/m" (在这里我插入一下我个人的一些看法,start "" "c:\programme files\cs 要打开这个文件夹就一定要加入两个引号,因为这里的路径中有空格。举个例子
@echo off
set /p a=请拖入指定文件夹:
ping /n 2 /l 1 127.1>nul
color 1f
:1
set /p b=请输入密码:
set /a c+=1
set /a d=3-%c%
if "%b%"=="1234" (goto 2) else echo 错误 你还有%d%次机会
if "%c%"=="3" (goto :eof) else goto 1
:2
attrib -s -h %a%
echo %a%
start "" %a%
attrib +s +h %a%
echo 已经完成
pause
以上是个人所写,如有不对,请指出,谢谢)
上面只是一个使用格式的例子,即 start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"
当然,在你的批处理文件末尾,最好不要忘记加上一行: EXIT
请问Start命令中的/w参数怎么用?
我知道/w的大概意思是不回到提示符转到其它的程序。我想执行一条命令:即运行完DIR后再执行其它命令 START dir cd c:\ /w。这条命令只能执行到DIR便不再执行下去了,是我的命令写错了吗?
另请问在START命令中为什么不能执行内部命令,我的DIR是做了一条批处理的。
『参考回复』
请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。
正确的用法应该是这样:
1、建立使用dir命令的批处理如test.bat:
@echo off
dir c:\
rem ....其它操作
exit
2、在另一个批处理中调用该批处理:
...
start /wait call test.bat
...
其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。
Start语法:
启动另一个窗口运行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]
"title" 在窗口标题栏中显示的标题。
path 起始目录
B 在不创建新窗口的情况下开始应用程序。除非
启动 ^C 处理,否则该应用程序会忽略 ^C 处理;
^Break 是唯一可以中断该应用程序的方式
I 新环境是传递给 cmd.exe 的原始环境,
而不是当前环境
MIN 开始时窗口最小化
MAX 开始时窗口最大化
SEPARATE 在分开的内存空间内开始 16 位 Windows 程序
SHARED 在共享内存空间内开始 16 位 Windows 程序
LOW 在 IDLE 优先级类别开始应用程序
NORMAL 在 NORMAL 优先级类别开始应用程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
ABOVENORMAL 在 ABOVENORMAL 优先级类别开始应用程序
BELOWNORMAL 在 BELOWNORMAL 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
command/program
如果是内部 cmd 命令或批文件,那么该命令处理器是
用 /K 命令行开关运行 cmd.exe 的。这表示该窗口在命令运行
后仍然存在。
如果不是内部 cmd 命令或批文件,则是一个程序,并
作为窗口应用程序或控制台应用程序运行。
parameters 这些为传送到命令/程序的参数
如果命令扩展被启用,通过命令行或 START 命令的外部命令
调用会如下改变:
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
FTYPE 命令。
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用
程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
防止从当前目录提取 CMD.EXE。
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
名。PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
与目录名相配。如果确实如此,START 会在那个路径上调用
Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
我的空间链接:http://hi.baidu.com/%B7%E3%D6%D0 ... 21f9ff7709d77b.html
作者: Batcher 时间: 2010-11-24 03:23
批处理实现畸形文件、文件夹创建、访问、重命名、删除
http://bbs.bathome.net/thread-3885-1-1.html
作者: wc726842270 时间: 2010-11-24 03:37 标题: 回复 4楼 的帖子
原来论谈早就有了,往我还在网上找,唉!真是罪过啊,
作者: zjw767676 时间: 2010-11-24 17:41
注意我说的是两个字母的畸形文件夹
作者: wc726842270 时间: 2010-11-24 17:58 标题: 回复 6楼 的帖子
不好意思,半夜眼花,呵呵,如果有兴趣就看看吧,
以Windows XP为例,在D盘创建一个名为“123”的文件夹:
1:依次点击“开始→运行”,在弹出的“运行”窗口中输入“cmd”,然后点击“确定”,打开命令行窗口;
2:在命令行窗口切换到想要创建文件夹的硬盘分区。例如,需要在D盘创建文件夹,则输入“ d: ”,然后回车即可;
3:创建一个名为“123”的文件夹,则输入“ md 123..\ ”,然后回车;(注意文件夹名称后面有2个小数点)
OK,搞定!看看你的D盘下面是不是多了一个名为“123.”的文件夹?这个文件夹既不能访问又不能删除,不信试试看!来看看这个文件夹的大小,在文件夹上单击右键,在弹出菜单中选择“属性”,在弹出的“属性”窗口中我们可以看到,这个文件夹的大小为0字节。当然,现在这个文件夹是空的,其实,无论你放多少东东进去,文件夹的大小始终显示为0字节。怎么样,够隐蔽吧!
如何删除这个文件夹呢?
如果要删除,则按照上面讲述的步骤先打开命令行窗口,然后有两种方法:
1、不切换到D盘而直接删除,则输入“rd d:\123..\”,回车即可;
2、如果已经切换到D盘,则输入“rd 123..\”,回车即可;需要注意的是,在删除文件夹之前首要先清空文件夹中的内容,否则无法删除。
如何进入这个文件夹呢?
如果要进入,则按照上面讲述的步骤先打开命令行窗口,输入“ start d:\123..\ ”,回车即可。这时,你就可以随心所欲的把隐私文件放进去啦!需要注意的是,无论是否切换到D盘,都要输入文件夹的绝对路径,否则无法打开。
如何快速访问这个文件夹呢?(个人的代码,有点密码功能。有兴趣可以试试- @echo off
- color 1f
- if exist "d:\123..\" goto 1
- md d:\123..\
- set /p=请等待一下<nul
- for /l %%i in (1 1 50) do set /p =_@<nul &ping /n 1 127.1 >nul
- echo 文件夹已建立完毕
- :1
- echo 你一共有3次机会
- set /p b=请输入密码:
- set /a c+=1
- set /a d=3-%c%
- if "%b%"=="1234" (goto 2) else echo 错误 你还有%d%次机会
- if "%c%"=="3" (pause&goto :eof) else goto 1
- :2
- start "" "d:\123..\"
- echo 已经完成
- pause
复制代码
有朋友问有没有更快的办法进入这个文件夹呢?当然有啦,那就是用批处理命令。
1、依次点击“开始→程序→附件→记事本”,打开“记事本”程序;
2、在文本中输入“start d:\123..\”;
3、依次点击“记事本”中的“文件→另存为”,将文件名改为“**.bat”,然后点击“保存”即可。
以后要进入这个文件夹,只要双击“**.bat”这个文件就可以了,是不是方便多了!
[ 本帖最后由 wc726842270 于 2010-11-24 18:02 编辑 ]
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |