中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-25 18:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » if判断文件代码问题 查看 1,435 回复 5
楼 主 if判断文件代码问题 发表于 2006-09-30 18:41 ·  中国 云南 昆明 电信
初级用户
★★
积分 134
发帖 50
注册 2006-03-28 13:50
20年会员
UID 52939
状态 离线
我想判断当前目录下是否有123。reg,如果没有就自动导出,如果有,就导入。
@if not exist run.reg goto exp
@if not exist run.reg goto imp
:exp
@reg export HKLM\SOFTWARE\3721 123.reg
@reg import run.reg
:imp
@reg import run.reg

第一次运行,当前目录下没有123。reg。自动导出,接着在自动导入。第二次运行,第一句不成立,运行2句跳转到imp标志。自动导入。请问更好的代码?这个批处理使用率高。

[ Last edited by namejm on 2006-10-1 at 12:37 ]
2 发表于 2006-09-30 20:48 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
@echo off
if exist .\123.reg (
regedit /s .123.reg
) else (
reg export HKLM\SOFTWARE\3721 123.reg
)
第一高手 第二高手

3 发表于 2006-10-01 12:30 ·  中国 云南 玉溪 电信
初级用户
★★
积分 134
发帖 50
注册 2006-03-28 13:50
20年会员
UID 52939
状态 离线
谢谢你的代码。我IF语句很不理解。我在去查查资料。

@echo off
if exist .\123.reg ( 这句的.\是不是在当前目录下找
regedit /s .123.reg 这里的.123.reg前面那个点是做什么用的
) else (
reg export HKLM\SOFTWARE\3721 123.reg
)

[ Last edited by xg911335 on 2006-10-1 at 12:37 ]
4 发表于 2006-10-01 13:52 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
.123.reg笔误应该.\123.reg
.\是当前目录

我不知道你自动导出后又干吗接着再自动导入但是完整的表达方式
@echo off
if not exist .\123.reg (
reg export HKLM\SOFTWARE\3721 123.reg
regedit /s .\123.reg
) else (
reg import run.reg
)
第一高手 第二高手

5 发表于 2006-10-02 06:01 ·  中国 北京 中移铁通
荣誉版主
★★★
积分 1,338
发帖 356
注册 2005-07-15 12:09
20年会员
UID 40733
性别 男
状态 离线
你可以参考一下下面的脚本,如果存在就删除,不存在就添加。

@echo off
set reg="HKEY_CURRENT_USER\Environment"
reg query %reg% /v "SendTo+" |findstr "SendTo+" ||goto :add
reg delete %reg% /f /v "SendTo+"
goto :EOF
:add
reg add %reg% /f /v "SendTo+" /t REG_EXPAND_SZ /d %cd%
goto :EOF
  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

6 发表于 2006-10-02 15:14 ·  中国 云南 玉溪 电信
初级用户
★★
积分 134
发帖 50
注册 2006-03-28 13:50
20年会员
UID 52939
状态 离线
谢谢解答。版主,想在请教你,SendTo+这个是什么?
论坛跳转: