无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3113|回复: 11
打印 上一主题 下一主题

WinCMD求助

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-16 13:27:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用WinCMD做一个用户资料目录修改转移的脚本,界面和功能如下图所示。但是在处理的时候,遇到了困难解决不了。
一是在选择新目标目录之后,下面选项里的目录显示,不知道如何进行刷新显示。二是想在按下开始修改按钮之后,想判断一下是否选择了修改当前用户或者所有用户,没有选择其中之一则返回继续选择,否则继续执行下去。三是想那个复制文件选项,要选择了前面两个选项中的任何一个后才可以选择。四是在子程序中调用另一个子程序,在另一个子程序执行完后,是否会继续回来执行原来子程序下面的部分?如果不行,该如何返回?

附件是界面截图和未完成的脚本草稿,请各位大C看看,帮帮我。

Shot-8.png (19.18 KB, 下载次数: 23)

Shot-8.png

目录修改.rar

965 Bytes, 下载次数: 76, 下载积分: 无忧币 -2

2#
发表于 2008-10-16 13:36:56 | 只看该作者
_SUB EditCur
  MESS 修改 %USERNAME% 用户相关目录为 %TagDir%\%USERNAME%,确认吗?@修改 %USERNAME% 用户目录#YN $N
  FIND $%YESNO%=YES,TEXT 正在修改 %YESNO%……#0xFF0000 L40 T20 R300 B500 $36!TEXT 放弃修改 %YESNO%……#0xFF00FF L40 T120 R300 B500 $36

text

这个加一个text,清除text文字显示。。
回复

使用道具 举报

3#
发表于 2008-10-16 14:02:04 | 只看该作者
三是想那个复制文件选项,要选择了前面两个选项中的任何一个后才可以选择。

建议先设置环境变量,然后再设置,,最后根据复选框的状态进行操作。。

┃      │格式│CHEK <复选框名称>,<复选框形状>,[复选框标题],[复选框事件],[复选框状态]                       ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │功能│在_SUB定义的窗口内建立一个复选框控件。                                                      ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │参数│■复选框名称: 字符串,复选框的名称应是唯一的,不能与其它控件名称或环境变量名称同名。        ┃
┃      │    │■复选框形状: 复选框位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。                    ┃
┃      │    │■复选框标题: 复选框上的文字,用于描述复选框的功能或说明。                                  ┃
┃'CHEK'│    │■复选框事件: 点击该复选框时执行的命令,必须是 PECMD 支持的有效命令。                       ┃
┃      │    │■复选框状态: 数字,1或-1为钩选状态,0,2或-2为没有钩选,小于0为灰色不可用状态。            ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │示例│CHEK Check1,L180T336W100H20,可写挂载,,1                                                     ┃
┃      ├──┼──────────────────────────────────────────────┨
┃      │备注│※CHEK命令必须位于_SUB命令和_END命令之间,其它位置的CHEK命令无效,参照_SUB、CALL命令说明。  ┃
┃      │    │※环境变量: %复选框名称% 为复选框标题,设置标题,可用 "ENVI @复选框名称=复选框标题" 来设置。┃
┃      │    │※可用"ENVI @复选框名称.Check=数值"来设置复选框钩选状态,数值0为未钩选状态;非0为钩选状态。

┃      │    │※可用"ENVI @复选框名称.Enable=数值"来设置复选框可用状态,数值0为禁用状态;非0为可用状态。

[ 本帖最后由 mapeimapei 于 2008-10-16 14:07 编辑 ]

111.rar

3.17 KB, 下载次数: 52, 下载积分: 无忧币 -2

回复

使用道具 举报

4#
 楼主| 发表于 2008-10-16 15:13:52 | 只看该作者
原帖由 mapeimapei 于 2008-10-16 13:36 发表
_SUB EditCur
  MESS 修改 %USERNAME% 用户相关目录为 %TagDir%\%USERNAME%,确认吗?@修改 %USERNAME% 用户目录#YN $N
  FIND $%YESNO%=YES,TEXT 正在修改 %YESNO%……#0xFF0000 L40 T20 R300 B500 $36!TEXT ...


汗……我不是指这个,这个TEXT我是用来做测试的。我说的替换是指选项里显示“将当前用户目录修改为:D:\USER”在选择目标目录如E:\USER之后,可以相应显示为“将当前用户目录修改为:E:\USER”。
回复

使用道具 举报

5#
发表于 2008-10-16 16:12:16 | 只看该作者
kill exploerer.exe

试试重启exploerer.exe进程。。。
回复

使用道具 举报

6#
发表于 2008-10-16 18:07:48 | 只看该作者
_SUB SetText
  ENVI @Edit1=%TagDir%
  ENVI @Check1=将当前用户目录修改为:%TagDir%\%USERNAME%
  ENVI @Check2=将 All User 目录修改为:%TagDir%\All User
_END

_SUB ChoiceDir
  BROW TagDir,*%Edit1%,请选择目录
  //FIND $%TagDir%=,!ENVI @Edit1=%TagDir%
  FIND $%TagDir%=,!CALL SetText
_END

[ 本帖最后由 lxl1638 于 2008-10-16 18:14 编辑 ]

TEST.rar

2.29 KB, 下载次数: 65, 下载积分: 无忧币 -2

回复

使用道具 举报

7#
 楼主| 发表于 2008-10-16 19:51:49 | 只看该作者
谢谢老九和小马。现在刷新两个选项中的显示目录、判断两个选项是否选择等问题已经解决了,基本上可以完成这个小程序了。但是如果我想先将复制文件不可选,如果选择了两个选项中的一个之后则可选,还是不知道如何去实现,希望再指教一下。万分感谢!
回复

使用道具 举报

8#
发表于 2008-10-16 20:09:22 | 只看该作者
wincmd没有动态扫描,也就是说没有变量延迟作用,楼上的条件不好实现。

java和C++可做的。。

以上仅仅是个人观点,错了,楼下不要抛砖,我也跟上学习下。。
回复

使用道具 举报

9#
发表于 2008-10-16 20:32:54 | 只看该作者
_SUB Windows1,W510H400,用户资料目录修改程序 V1.0,,KING.ICO#1
  GROU Group1,L10T10W480H60,选择目标目录
  EDIT Edit1,L20T30W360H25,%TagDir%
  ITEM Button1,L400T30W70H25,浏览选择,call ChoiceDir
  GROU Group2,L10T80W480H100,用户目录修改选项
  CHEK Check1,L20T100W360H20,将当前用户目录修改为:%TagDir%\%USERNAME%,,%mod1%
  CHEK Check2,L20T125W360H20,将 All User 目录修改为:%TagDir%\All User,,%mod2%
  
  find $%mod1%=1 envi mod3=0    `没有变量延迟,所以这个不起作用的。。

  CHEK Check3,L20T150W360H20,复制用户文件到目标目录,,%mod3%
  ITEM Button2,L400T110W70H50,开始修改,call EditUser
  GROU Group3,L10T200W480H120,!!!特别提醒:本程序不提供恢复功能,请慎重使用!!!
  LABE Label3,L20T225W460H70,%sLine%
  GROU Group4,L10T330W480H40,
  LABE Label4,L70T345W400H20,制作:翔浪工作室(http://xianglang.blog.163.com),2008.10.13
_END
/////////////////////////////////////////////////////////////////
ENVI sLine1=  被修改的用户相关目录包括:桌面、文档、程序、收藏夹、模板、开始菜单、启动、开始程序、音乐、视频、图片等目录。
ENVI sLine2=  All User用户,只需修改一次即可;具体用户目录,登录后也只须进行一次修改。
ENVI sLine3=  修改只是修改注册表中相关项,并不进行文件复制;如要复制,请勾选复制选项或者手工进行。
ENVI sLine=%sLine1%\n%sLine2%\n%sLine3%
ENVI TagDir=D:\USER
envi mod1=0
envi mod2=0
envi mod3=-3
CALL @Windows1


=======================================

以上一个半成品。。。
回复

使用道具 举报

10#
 楼主| 发表于 2008-10-16 21:31:44 | 只看该作者
那个复制的选项,暂时不管它了,反正也不是什么紧要的东西。晕死,在写COPY命令时又遇到难题了,不知道“我的音乐”、“我的图片”、模板等等,有没有这样的系统变量;如果没有的话,复制时就找不到源目录和源文件了。
回复

使用道具 举报

11#
发表于 2008-10-17 01:14:52 | 只看该作者
%USERPROFILE%    %ALLUSERSPROFILE%  ??

%USERPROFILE% \My Documents\图片收藏

%USERPROFILE% \My Documents\我的视频

%USERPROFILE% \My Documents\我的音乐
回复

使用道具 举报

12#
 楼主| 发表于 2008-10-17 03:26:39 | 只看该作者
有些系统,比如象我这样的,会将那些我的图片等目录改到不是%USERPROFILE%下面,而是与%USERPROFILE%目录不同的地方。出现这样的情况,再用那样的复制命令,肯定会找不到文件的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-6 00:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表