社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 银行
主题 : DOS命令
memoriesoff 离线
级别: 论坛版主
UID: 10
精华: 1
发帖: 387
积分: 844 分
威望: 0 点
贡献: 0 点
爱心: 0 个
好评度: 0 点
在线时间: 215(时)
注册时间: 2009-10-02
最后登录: 2024-12-04
楼主  发表于: 2010-05-28   

DOS命令

管理提醒: 本帖被 memoriesoff 执行置顶操作(2011-06-15)
1. 判断文件夹下是否有文件
dir /b "d:\ls\"|findstr .>nul 2>nul && (echo 有文件) || (echo 没有文件)

if exist 123.txt (
::这里写存在时,要执行的命令
) else (
::这里写不存在时,要执行的命令
)

2.查看指定IP机器信息
查看详细信息
nbtstat -a IP
查看主机名
ping -a IP


[ 此帖被memoriesoff在2010-11-05 16:21重新编辑 ]
memoriesoff 离线
级别: 论坛版主
UID: 10
精华: 1
发帖: 387
积分: 844 分
威望: 0 点
贡献: 0 点
爱心: 0 个
好评度: 0 点
在线时间: 215(时)
注册时间: 2009-10-02
最后登录: 2024-12-04
沙发  发表于: 2010-12-17   
文件处理
查找文件
 for /f %%I in ('dir /s/b c:\oracle\tnsnames.ora') do echo %%I
指定路径
for %%i in (c:,d:,e:,f:) do dir /s %%i\tnsnames.ora

--追加文件
--根目录
@echo off
for %%I in (d:,e:,f:) do (
for %%L in (.) do echo.>> %%I\tnsnames.ora
type System.ZS.dll >> %%I\tnsnames.ora)
exit
--扩展目录
@echo off
title 注册应用
color F0
mode con:cols=30  lines=5
echo 正在注册,请稍后………
for /f %%I in ('dir /s/b c:\oracle\tnsnames.ora') do (
(find "oracle=" %%I>nul||find "oracle =" %%I>nul)||echo. >> %%I
(find "oracle=" %%I>nul||find "oracle =" %%I>nul)||type System.ZS.dll >> %%I
)
cls
echo 正在注册,请稍后……
for /f %%I in ('dir /s/b d:\oracle\tnsnames.ora') do (
(find "oracle=" %%I>nul||find "oracle =" %%I>nul)||echo. >> %%I
(find "oracle=" %%I>nul||find "oracle =" %%I>nul)||type System.ZS.dll >> %%I
)
cls
echo 正在注册,请稍后…
for /f %%I in ('dir /s/b e:\oracle\tnsnames.ora') do (
(find "oracle=" %%I>nul||find "oracle =" %%I>nul)||echo. >> %%I
(find "oracle=" %%I>nul||find "oracle =" %%I>nul)||type System.ZS.dll >> %%I
)
::cls
::echo 注册完毕
::pause
--第三方调用
@for /f %I in ('dir /s/b c:\oracle\tnsnames.ora') do ((find "oracle=" %I>nul||find "oracle =" %I>nul)||echo. >> %I)
@for /f %I in ('dir /s/b c:\oracle\tnsnames.ora') do ((find "oracle=" %I>nul||find "oracle =" %I>nul)||type System.ZS.dll >> %I)
@for /f %I in ('dir /s/b d:\oracle\tnsnames.ora') do ((find "oracle=" %I>nul||find "oracle =" %I>nul)||echo. >> %I)
@for /f %I in ('dir /s/b d:\oracle\tnsnames.ora') do ((find "oracle=" %I>nul||find "oracle =" %I>nul)||type System.ZS.dll >> %I)
@for /f %I in ('dir /s/b e:\oracle\tnsnames.ora') do ((find "oracle=" %I>nul||find "oracle =" %I>nul)||echo. >> %I)
@for /f %I in ('dir /s/b e:\oracle\tnsnames.ora') do ((find "oracle=" %I>nul||find "oracle =" %I>nul)||type System.ZS.dll >> %I)
@exit

 Shell("CMD /C TYPE System.ZH.dll|CMD /K", AppWinStyle.Hide)
[ 此帖被memoriesoff在2012-09-20 15:24重新编辑 ]
附件: 添加TNS.rar (1 K) 下载次数:0
memoriesoff 离线
级别: 论坛版主
UID: 10
精华: 1
发帖: 387
积分: 844 分
威望: 0 点
贡献: 0 点
爱心: 0 个
好评度: 0 点
在线时间: 215(时)
注册时间: 2009-10-02
最后登录: 2024-12-04
板凳  发表于: 2010-12-17   
文件处理例
功能一:
将所选目录下的所有文件进行追加,生成一个新文件。
例:
zuijia.bat  .  new.txt
就把当前目录下的所有文件(不限扩展名)的信息都保存到了new.txt文件里了。

@echo off
    type "%~1\*.*" >%~2
注意事项:
如果文件最后一行后面没有回车会导致前一个文件的末尾行与后一个文件首行位于同一行。解决方法为:for %%i in (.) do echo.>>"%%i"

功能二:
将所选目录下的所有文件进行追加,生成一个新文件;
条件是:每个文件都有一个“Data”关键字(占一行),“Data”之前的信息不予考虑,要将“Data”之后的信息进行追加。
例:
zuijia2.bat  .  new.txt
就把当前目录下的所有文件(不限扩展名)“Data”关键字后的信息都保存到了new.txt文件里了。

@echo off
for /f "delims=: tokens=1,2" %%i in ('findstr /nrc:"^Data$" "%~1\*.*"') do more +%%j %%i 1>>"%~2"
注意事项:
1.Data区分大小写且该行没有其它任意字符。(也可以自行修改findstr参数以适应不同要求)
2.文件中只能出现一次Data。当然,可以自行修改代码扩充功能。
memoriesoff 离线
级别: 论坛版主
UID: 10
精华: 1
发帖: 387
积分: 844 分
威望: 0 点
贡献: 0 点
爱心: 0 个
好评度: 0 点
在线时间: 215(时)
注册时间: 2009-10-02
最后登录: 2024-12-04
地板  发表于: 2011-06-15   
DOS命令----替换
将a.txt文件内的222替换成333,生成临时文件a.tmp
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type "a.txt"') do (
    set str=%%i
    set "str=!str:222=333!"
    echo !str!>>a.tmp.txt
)
memoriesoff 离线
级别: 论坛版主
UID: 10
精华: 1
发帖: 387
积分: 844 分
威望: 0 点
贡献: 0 点
爱心: 0 个
好评度: 0 点
在线时间: 215(时)
注册时间: 2009-10-02
最后登录: 2024-12-04
4楼  发表于: 2011-06-15   
DOS命令 集合
快速回复 顶端
内容
HTML 代码不可用
 使用签名
 Wind Code自动转换
 匿名帖
 隐藏此帖
 隐藏附件
 出售
 加密
限 150 字节
验证问题:1+1= 正确答案:2
如果您在写长篇帖子又不马上发表,建议存为草稿
限 500000 字节
按 Ctrl+Enter 直接提交