. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#16 旧 2005-04-20, 14:16:07 默认
hitme 当前离线  

cmd一些其他应用
========================================================================
1.快速建用户和共享文件夹
2.让服务器在空闲时自动关机或休眠
3.通过FTP自动备份文件
4.扫描一个网段.用for和ping.然后得到存活主机把结果存为ip和ip之间用,隔开
5.DOS下文件列表按文件名长度递增排列
6.远程关机
========================================================================
1.快速建用户和共享文件夹

又要给学生机房装机了
因为现在有这样的要求:
在教师上加用户 (A1、A2、……A7、B1……H7)(对应学生机)
在教师机上建目录共享 (要对应机器.........)
就是要建A1目录给A1那台机用。
好繁啊,有什么好的介绍吗?

for %i in (a b c d e f h) do for /l %j in (1,1,7) do echo %i%j >>name.txt
:#构造序号文件
for /f %i in (name.txt) do net user %i %i /add
:#天家用户
for /f %i in (name.txt) do md %i
:#建目录
for /f %i in (name.txt) do net share %i=盘符:\%i
:#共享目录
for /f %i in (name.txt) do cacls \%i /g %i:f administrator:f
:#配置权限,一路y回车,即可

*有for不繁
---------------------------------------------------------------
2.让服务器在空闲时自动关机或休眠

单位有一局域网,由于win2000的服务器代理上网,内网IP:192.168.0.*
因大家不定时上网,一般在后半夜便无人再使用网络,但也不能搞一刀切,不能设定某个时间自动关机,现求一软件,能自动检测内网有无人开机,如果发现在0点后,半个 小时无人上网,服务器则自动关机(或休眠),我发现poweroff软件无法实现这个功能。希望大家帮忙。

run.bat #计划任务 0:30分执行这个bat。每30分钟重复执行.注意别ping了服务器,没测试过,不太可靠
以下内容保存为.bat文件执行
代码:
del reply.txt
echo 关机日志 > reply.txt
for /l %%i in (2,1,254) do ping -n 1 192.168.0.%%i | find "Reply" >>reply.txt
find "Reply" reply.txt || shutdown

---------------------------------------------------------------
3.通过FTP自动备份文件

机器 A

D:\\aaa\a\ ——》a.rar
D:\\bbb\ ————》b.rar

每 2个小时自动生成一个RAR文件,存放到 D:\\bak\日期\时间\ 目录下(D:\\bak\2005-01-04\02.00\)然后自动通过FTP传送到 机器B(专用备份机器)

请问谁能帮忙写个脚本 谢谢。 或者把压缩过程省略,直接传送文件夹也可以?传送目录?flashfxp啊
以下内容保存为.bat文件执行
代码:
@echo off
path=%path%;c:\program files\winrar
:rar

set tdate=%date:~4,10%
set ttime=%time:~0,2%

mkdir "d:\bak\%tdate%\%ttime%"

rar a -r "d:\bak\%tdate%\%ttime%\a.rar" d:\aaa\*.*
rar a -r "d:\bak\%tdate%\%ttime%\b.rar" d:\bbb\*.*

:ftp
echo open ftp.hitme.com >ftp.txt
echo hitme >>ftp.txt
echo password >>ftp.txt
echo bin >>ftp.txt
echo hash >>ftp.txt
echo prompt >>ftp.txt

echo cd bak >>ftp.txt
echo lcd "d:\bak\%tdate%\%ttime%" >>ftp.txt 
echo mkdir %tdate% >>ftp.txt
echo mkdir %tdate%/%ttime% >>ftp.txt 
echo cd %tdate%/%ttime% >>ftp.txt 
echo mput *.* >>ftp.txt
echo cd /bak >>ftp.txt

echo quit >>ftp.txt
ftp -s:ftp.txt
*echo 构造ftp.txt,利用了系统变量%date%,%time%的扩充形式

---------------------------------------------------------------
4.扫描一个网段.用for和ping.然后得到存活主机把结果存为ip和ip之间用,隔开

for /l %i in (1,1,254) do @echo connecting 192.168.1.%i && @(for /f "tokens=1,3 skip=2 delims=: " %j in ('ping 192.168.1.%i') do @if '%j'=='Reply' @find "192.168.1.%i" list.txt > nul 2>nul || @echo %k>>list.txt && @echo 192.168.1.%i connected)

*code by su99
*单行精品

---------------------------------------------------------------
5.DOS下文件列表按文件名长度递增排列

如果一个目录里面有如下四个文件(当然,实际中文件数量和文件名是随机的)
1.txt,2.txt,10.txt,20.txt
在DOS下要如何使用如何才能让他们按
1.txt
2.txt
10.txt
20.txt
输出,而非
1.txt
10.txt
2.txt
20.txt
输出?
我用的系统是xp~多谢大家~


for /l %a in (1,1,20) do @(if exist "%a.txt" echo %a.txt)

*思路是穷举。前提是文件名有一定规律:除了数字外的部分要一样,如果是abc1.txt, xyz10.txt这样乱来,这个方法就不管用了(严格说,如果是有限个不同的pattern,仍然可以做到,不过麻烦一些)

*code by su99
==============or===================
list.bat,以下内容保存为.bat文件执行
代码:
@echo off
set t=....
:loop
set t=%t%.
dir /b /a:-d | findstr /r "^%t%$"
if "%t%" == "........................." goto end
goto loop
:end
*findstr/r "^.....$过滤排序

---------------------------------------------------------------
6.远程批量关机,以下内容保存为.bat文件执行
代码:
for /l %%i in (1,1,254) do @(arp -d & ping 192.168.3.%%i -n 1 -w 100 & arp -a | find "00-00-00-00-00-00" > nul || shutdown -m \\192.168.3.%%i -s -f)
*关闭了icmp,照关

此帖于 2005-04-20 14:55:24 被 hitme 编辑. .
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#17 旧 2005-04-20, 14:27:24 默认
hitme 当前离线  

5,15,16中的实例,有些比较早了,不能保证正确无误
旨在提供思路,无招胜有招,总决式=变通
allcorpse
 
allcorpse 的头像
热心会员
 
资 料:
注册日期: Oct 2001
帖子: 2,820 声望值: 6
精华: 0,解答: 1
#18 旧 2005-04-20, 14:27:50 默认
allcorpse 当前离线  

收藏!~


你们给我等着,等我搞明白了。

回来后,以彼之道,还施彼身!


心无所归,身在何处。 PS:nick AC
长春坛友QQ群:82927655,PM先!
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#19 旧 2005-04-20, 14:35:43 默认
lyh728 当前离线  

引用:
作者: hitme
5,15,16中的实例,有些比较早了,不能保证正确无误
旨在提供思路,无招胜有招,总决式=变通
非常好,good
Bearxu
 
Bearxu 的头像
支柱会员
 
资 料:
注册日期: May 2000
帖子: 4,780 声望值: 6
精华: 2,解答: 7
#20 旧 2005-04-20, 15:08:30 默认
Bearxu 当前离线  

能不能在批处理里面实现一个延时的操作?


精品CS战队--会冬眠的熊
CCF.SNS | Bearxu
[CCF]Bearxu.DF
DOD吗?不好玩呢!!!
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#21 旧 2005-04-20, 19:17:39 默认
lyh728 当前离线  

to hitme
引用:
3.按文件数量移动文件到目标文件夹,以下内容保存为.bat文件执行
缺少endlocal

此帖于 2005-04-20 20:39:32 被 lyh728 编辑. .
nicol
 
nicol 的头像
热心会员
 
资 料:
注册日期: Jun 2001
帖子: 11,683 声望值: 6
精华: 0,解答: 11
#22 旧 2005-04-20, 19:38:59 默认
nicol 当前离线  

订阅先,慢慢看


迅雷钻石会员子账号分享:
共两个账号,请PM我索取密码
龙魂
 
龙魂 的头像
核心会员
 
资 料:
注册日期: May 2002
帖子: 2,596 声望值: 3
精华: 0,解答: 5
#23 旧 2005-04-20, 22:14:20 默认
龙魂 当前离线  

引用:
作者: Bearxu
能不能在批处理里面实现一个延时的操作?
以前CCF看到过,但忘了是谁说的。。

call sleep.vbs
dir
call sleep.vbs
dir


sleep.vbs内容
wscript.sleep(1000)

不过这个控制是不准的,只能大概。
Bearxu
 
Bearxu 的头像
支柱会员
 
资 料:
注册日期: May 2000
帖子: 4,780 声望值: 6
精华: 2,解答: 7
#24 旧 2005-04-21, 08:54:29 默认
Bearxu 当前离线  

引用:
作者: 龙魂
......
call sleep.vbs
......
不过这个控制是不准的,只能大概。
啊?还要用vbs啊,启动的时候可以用vbs?

我在想能不能用个循环语句来实现,可惜我对这个实在是不懂,能控制个大概估计也行
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#25 旧 2005-04-21, 09:33:47 默认
lyh728 当前离线  

引用:
作者: Bearxu
啊?还要用vbs啊,启动的时候可以用vbs?

我在想能不能用个循环语句来实现,可惜我对这个实在是不懂,能控制个大概估计也行
用时间time命令来判断吧
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#26 旧 2005-04-21, 10:17:28 默认
lyh728 当前离线  

xxx.txt 的内容如下
代码:
     some          for some
findstr /b /i /c:" *FOR" xxx.txt

怎么匹配不到呢?我就是匹配多个空格" *" 怎么无效?
samson88
 
samson88 的头像
热心会员
 
资 料:
注册日期: May 2002
帖子: 2,357 声望值: 2
精华: 2,解答: 37
#27 旧 2005-04-21, 10:19:39 默认
samson88 当前离线  

真精彩阿,不过看着真晕,很多看不明白。

关于延时Windows Resource Kit 有个工具叫wait.exe,不过我找不到。但是找到一个替代品wait.exe
上传的附件
文件类型: rar Wait.rar (12.3 KB, 27 次查看)


在中国,有什么事情解释不了的,一想到“”字就迎刃而解了。
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#28 旧 2005-04-21, 10:19:59 默认
hitme 当前离线  

引用:
作者: lyh728
to hitme


缺少endlocal
恩,感谢,修正了

只有一个local,少了也没关系,不过这习惯不好 :blush;

引用:
作者: dodowolf
hitme 真的 你写书去吧
"All References for Windows Command"

PS
我觉得写一个JAVA程序就可以实现了.
小册子都凑不出来,没有短句长说的天赋哇~

引用:
作者: Bearxu
啊?还要用vbs啊,启动的时候可以用vbs?

我在想能不能用个循环语句来实现,可惜我对这个实在是不懂,能控制个大概估计也行
xp/2k3用timeout
2k用23楼说的

echo wscript.sleep( 10000) >s.vbs
call s.vbs
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#29 旧 2005-04-21, 10:23:17 默认
hitme 当前离线  

引用:
作者: lyh728
xxx.txt 的内容如下
代码:
     some          for some
findstr /b /i /c:" *FOR" xxx.txt

怎么匹配不到呢?我就是匹配多个空格" *" 怎么无效?
这样?
findstr /r /i /c:" *for" xxx.txt
Bearxu
 
Bearxu 的头像
支柱会员
 
资 料:
注册日期: May 2000
帖子: 4,780 声望值: 6
精华: 2,解答: 7
#30 旧 2005-04-21, 10:26:29 默认
Bearxu 当前离线  

引用:
作者: hitme
xp/2k3用timeout

2k用23楼说的
echo wscript.sleep( 10000) >s.vbs
call s.vbs
timeout能不能给个例子看看,谢谢!

居然可以在命令行启动的时候调用vbs,这个要试试。

此帖于 2005-04-21 10:31:33 被 Bearxu 编辑. .
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 03:30:04.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号