标题: [其他] 搜集一下一些罕见的批处理知识大家来帮忙 【不定期更新】 [打印本页]
作者: 基拉freedom 时间: 2009-8-12 22:34 标题: 搜集一下一些罕见的批处理知识大家来帮忙 【不定期更新】
大家有的话 分享下.....谢谢- 用set /p x<x.txt 最大只有1024字节
- 而用for可达到8KB
- (以上借用 不好意思)
复制代码
- 4L
- pakTC 提供:
- 一般的windows上 shutdown 命令关机的最大延时是
-
- -t 3153599999
-
- 以前刚学会弄 乱弄,shutdown -s -t 315359999
- 然后注销 shutdown -l
-
- 结果就停在那个界面,按什么都不灵,只有power…… 电源.....
-
- 哦对了 365天的秒数是:
- ======================
- C:\>set /a x=365*3600*24
-
- 31536000
- =======================
-
- shutdown -s -t 315359999 就是大约 10年-1秒了~
-
-
-
-
- 如果都知道就当我刷分……
复制代码
- rat提供
- C:\><nul set/p="a"b
- a
复制代码
- 523066680提供
- 10次 ping -n 1 127.1>nul 的时间 小于
- 1次 ping -n 2 127.1>nul
-
- 所以一般写效果 我用n次ping 1 大概3~8 次 这样的延时比较适合。
-
- 次数3次以上的用for结合了
-
-
- 效果比如下面这个
-
- @echo off&setlocal enabledelayedexpansion&mode con cols=25 lines=1
- title 进度条
- set /a a=0
- :a
- set /a a+=1
- for %%a in (▏ ▎ ▍ ▌ ▋ ▊ ▉) do (set /p=%%a<nul &ping -n 1 127.1>nul &ping -n 1 127.1>nul &ping -n 1 127.1>nul &set /p= <nul)
- set /p=█<nul
- if %a% lss 10 (goto :a)
- set /p= End<nul&pause>nul
复制代码
- keen
- for 中tokens的令牌数最大是31个,就是提取的列。
- 可以参看:
- http://bbs.bathome.net/thread-5437-1-6.html
- http://bbs.bathome.net/thread-5548-1-2.html
-
- setlocal 最大的递归层是32。
- 可以参考:
- http://bbs.bathome.net/viewthread.php?tid=2051&highlight=setlocal
复制代码
- rat提供
- @set @j=1//%@j%&call set @j=%%@j:~3%%&start cscript -nologo -e:jscript "%~f0"&goto :eof
- WSH.Echo("Exit After 3s Elapses")
- WSH.Sleep(3000)
-
- js与bat同体。
- js:
- 用条件编译语句来创建变量:@set @j=1
- //后面的被注释。
- bat:
- 先把@j还原,然后调用cscript执行。
-
- 上面是js为主体,也可以用/**/多行注释包含更完整bat:
-
- @set @j=1/*
- @set @j=%@j:~3%
- ::------bat------::
- @echo off & setlocal
- set s=3
- echo Exit After %s%s Elapses
- start /b cscript -nologo -e:jscript "%~f0" %s%
- goto :eof
- ::------bat------::
- */
- //------js------//
- WSH.Sleep(WSH.Arguments(0) * 1000)
- //------js------//
复制代码
- rat提供
- for /r的几种错误调用方式:
-
- 1、嵌套在另一个for里面
- for %%a in (1 2) do (
- for /r %%a\ %%x in (hi) do echo %%a
- )
-
- 2、变量延迟
- setlocal enabledelayedexpansion
- set d=1
- for /r !d!\ %%x in (hi) do echo %%a
-
-
- setlocal enabledelayedexpansion
- if 1==1 (
- set d=1
- for /r !d!\ %%x in (hi) do echo %%a
- )
-
- for /r 1\ %%a in (hi) do echo.%%a
复制代码
- 刚刚有人在这个区问的 感觉很不错
- 也转过来
- 将用 netstat /? 的帮助信息输出到文件夹
- 直接用netstat /? >**.txt 是没用的
- 要用netstat /? 2>**.txt
复制代码
- rat:
- ren去后缀与去文件名
- 去后缀
- ren c:\test\a.txt *.
- 去文件名
- ren c:\test\a.txt .*
复制代码
- PakTC
-
- 映射 文件: fsutil
-
- C:\>fsutil hardlink create
- 用法 : fsutil hardlink create <新文件名> <现有文件名>
- 例如 : fsutil hardlink create c:\foo.txt c:\bar.txt
复制代码
[ 本帖最后由 基拉freedom 于 2009-8-18 20:20 编辑 ]
作者: 小勇12 时间: 2009-8-12 23:15
我也支持,在这方面的确不懂
作者: wwenyunkui 时间: 2009-8-13 17:12
懂得太少,跟各位学习啦
作者: PakTC 时间: 2009-8-13 20:59
一般的windows上 shutdown 命令关机的最大延时是
-t 3153599999
以前刚学会弄 乱弄,shutdown -s -t 315359999
然后注销 shutdown -l
结果就停在那个界面,按什么都不灵,只有power…… 电源.....
哦对了 365天的秒数是:
======================
C:\>set /a x=365*3600*24
31536000
=======================
shutdown -s -t 315359999 就是大约 10年-1秒了~
如果都知道就当我刷分……
[ 本帖最后由 PakTC 于 2009-8-13 21:02 编辑 ]
作者: rat 时间: 2009-8-13 21:04
C:\><nul set/p="a"b
a
作者: BBCC 时间: 2009-8-13 23:38
楼上那个算是bug还是什么?
作者: rat 时间: 2009-8-14 18:54
不知道什么原因,只是发现这个现象。
作者: 523066680 时间: 2009-8-14 18:59
10次 ping -n 1 127.1>nul 的时间 小于
1次 ping -n 2 127.1>nul
所以一般写效果 我用n次ping 1 大概3~8 次 这样的延时比较适合。
次数3次以上的用for结合了
效果比如下面这个
- @echo off&setlocal enabledelayedexpansion&mode con cols=25 lines=1
- title 进度条
- set /a a=0
- :a
- set /a a+=1
- for %%a in (▏ ▎ ▍ ▌ ▋ ▊ ▉) do (set /p=%%a<nul &ping -n 1 127.1>nul &ping -n 1 127.1>nul &ping -n 1 127.1>nul &set /p= <nul)
- set /p=█<nul
- if %a% lss 10 (goto :a)
- set /p= End<nul&pause>nul
复制代码
[ 本帖最后由 523066680 于 2009-8-14 19:01 编辑 ]
作者: keen 时间: 2009-8-14 20:57
不知道算不算:- for 中tokens的令牌数最大是31个,就是提取的列。
- 可以参看:
- http://bbs.bathome.net/thread-5437-1-6.html
- http://bbs.bathome.net/thread-5548-1-2.html
复制代码
- setlocal 最大的递归层是32。
- 可以参考:
- http://bbs.bathome.net/viewthread.php?tid=2051&highlight=setlocal
复制代码
[ 本帖最后由 keen 于 2009-8-14 21:02 编辑 ]
作者: rat 时间: 2009-8-15 15:28
- @set @j=1//%@j%&call set @j=%%@j:~3%%&start cscript -nologo -e:jscript "%~f0"&goto :eof
- WSH.Echo("Exit After 3s Elapses")
- WSH.Sleep(3000)
复制代码
js与bat同体。
js:
用条件编译语句来创建变量:@set @j=1
//后面的被注释。
bat:
先把@j还原,然后调用cscript执行。
上面是js为主体,也可以用/**/多行注释包含更完整bat:- @set @j=1/*
- @set @j=%@j:~3%
- ::------bat------::
- @echo off & setlocal
- set s=3
- echo Exit After %s%s Elapses
- start /b cscript -nologo -e:jscript "%~f0" %s%
- goto :eof
- ::------bat------::
- */
- //------js------//
- WSH.Sleep(WSH.Arguments(0) * 1000)
- //------js------//
复制代码
作者: rat 时间: 2009-8-15 19:19
for /r的几种错误调用方式:
1、嵌套在另一个for里面- for %%a in (1 2) do (
- for /r %%a\ %%x in (hi) do echo %%a
- )
复制代码
2、变量延迟- setlocal enabledelayedexpansion
- set d=1
- for /r !d!\ %%x in (hi) do echo %%a
复制代码
- setlocal enabledelayedexpansion
- if 1==1 (
- set d=1
- for /r !d!\ %%x in (hi) do echo %%a
- )
复制代码
3、echo.
-
- for /r 1\ %%a in (hi) do echo.%%a
复制代码
[ 本帖最后由 rat 于 2009-8-15 19:24 编辑 ]
作者: rat 时间: 2009-8-18 17:20 标题: ren去后缀与去文件名
去后缀复制代码
去文件名复制代码
作者: PakTC 时间: 2009-8-18 17:52
映射 文件: fsutil
C:\>fsutil hardlink create
用法 : fsutil hardlink create <新文件名> <现有文件名>
例如 : fsutil hardlink create c:\foo.txt c:\bar.txt
作者: PakTC 时间: 2009-8-18 20:53
http://hi.baidu.com/523066680/bl ... 6b0d084b90a741.html
我在这里回最后一次帖,算是广告。
作者: rat 时间: 2009-8-19 23:44 标题: vbs、js分别与bat混合编程新解
vbs:- echo=1'>nul&@cls&start wscript -e:vbs "%~f0"&goto :eof
- WSH.Echo "vbs"
复制代码
js:- echo=1//>nul&@cls&start wscript -e:jscript "%~f0"&goto :eof
- WSH.Echo("js")
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |