A. tcl语言文件夹里文件移动到另一个文件夹
~/tcltk$ tclsh
% file exists hello3.tcl
1
% file executable testit
0
% file pathtype ./hello3.tcl
relative
% set dir1 home
home
% set dir2 brian
brian
% set dir3 tcltk
tcltk
% file join /$dir1 dir2 dir3
/home/dir2/dir3
% file delete testit~
%
文件和路径操作是跨平台环境中具有挑战性的问题。对于主机 OS,Tcl 使用 UNIX
路径名(缺省情况下,用‘/’字符分隔)和本机路径名结构。即使当程序内的数据构造正确时,也很难确保用户输入与系统需求匹配。file
join 命令用于将 UNIX 格式转换成本机路径名。其它路径字符串命令包括 file split、dirname、file
extension、nativename、pathtype 和 tail。
在它扮演的“工具控制语言”角色中,Tcl 有许许多多种内部文件测试和操作功能。每条命令都以 file 开始,正如 file
exists name 中一样。其它测试命令(它们都返回布尔值)包括
executable、isdirectory、isfile、owned、readable 和 writable。
文件信息和操作(再提醒您一次,所有都是以 file 开始)是通过
atime、attributes、、delete、lstat、mkdir、mtime、readlink、rename、rootname、
size、stat 和 type 来完成。请注意,在 Windows 或 Mac
环境中运行一些文件信息命令时,可能会返回未定义的数据,因为例如在那些文件系统中没有表示索引节点和符号(和硬)链接数据。
使用 file ... 命令而不使用通过 exec 的本机命令的好处在于,前者会提供一个可移植接口
B. 求bat语法,文件替换(覆盖原文件)
在bat 中用 REPLACE 命令。
REPLACE [驱动器1:][路径1]文件名 [驱动器2:][路径2] [/A] [/P] [/R] [/W]
REPLACE [驱动器1:][路径1]文件名 [驱动器2:][路径2] [/P] [/R] [/S] [/W] [/U]
[驱动段姿器1:][路径1]文件名 定义源文件(或源文件们)
[驱动器2:][路径2] 定义文件夹,那里的文则燃旦件们要被替换掉 (Specifies the directory where files are to replaced.)
/A -- 加入新文件到目标文件夹,不得与/S 或 /U 开关同时用.
/P -- Prompts for confirmation before replacing a file or adding a source file.
/R -- 替换只读文件和未保护文件(Replaces read-only files as well as unprotected files.)
/S -- Replaces files in all subdirectories of the destination directory. Cannot use with the /A switch.
/W -- Waits for you to insert a disk before beginning.
/U -- Replaces (updates) only files that are older than
source files. Cannot use with the /A switch.
(若需英文孙扰的中文意思,发消息来问)。
C. Linux 脚本编写 如何编写一个脚本,修改已有文件中的内容
实现的复方法如下:
1、第一步,打制开命令控制台以找到要编辑的文件,执行命令ls来查看下面的一些文件,在下面有一个index.php文件,如下图所示。
D. TCL脚本语言中Isearch命令% lsearch $a y* 2 % lsearch $a y -1
1 list命令
语法: list ? value value...?
这个命令生成一个list,list的元素就是所有的value。例:
% list 1 2 {3 4}
1 2 {3 4}
concat命令:
语法:concat list ?list...?
这个命令把多个list合成一个list,每个list变成新list的一个元素。
3 lindex命令
语法:lindex list index
返回list的第index个(0-based)元素。例:
% lindex {1 2 {3 4}} 2
3 4
4 llength命令
语法:llength list
返回list的元素个数。例
% llength {1 2 {3 4}}
3
5 linsert命令
语法:linsert list index value ?value...?
返回一个新串,新串是把所有的value参数值插入list的第index个(0-based)元素之前得到。例:
% linsert {1 2 {3 4}} 1 7 8 {9 10}
1 7 8 {9 10} 2 {3 4}
6 lreplace命令:
语法:lreplace list first last ?value value ...?
返回一个新串,新串是把list的第firs (0-based)t到第last 个(0-based)元素用所有的value参数替换得到的。如果没有value参数,就表示删除第first到第last个元素。例:
% lreplace {1 7 8 {9 10} 2 {3 4}} 3 3
1 7 8 2 {3 4}
% lreplace {1 7 8 2 {3 4}} 4 4 4 5 6
1 7 8 2 4 5 6
7 lrange 命令:
语法:lrange list first last
返回list的第first (0-based)到第last (0-based)元素组成的串,如果last的值是end。就是从第first个直到串的最后。
例:
% lrange {1 7 8 2 4 5 6} 3 end
2 4 5 6
8 lappend命令:
语法:lappend varname value ?value...?
把每个value的值作为一个元素附加到变量varname后面,并返回变量的新值,如果varname不存在,就生成这个变量。例:
% lappend a 1 2 3
1 2 3
% set a
1 2 3
9 lsearch 命令:
语法:lsearch ?-exact? ?-glob? ?-regexp? list pattern
返回list中第一个匹配模式pattern的元素的索引,如果找不到匹配就返回-1。-exact、-glob、 -regexp是三种模式匹配的技术。-exact表示精确匹配;-glob的匹配方式和string match命令的匹配方式相同,将在后面第八节介绍string命令时介绍;-regexp表示正规表达式匹配,将在第八节介绍regexp命令时介绍。缺省时使用-glob匹配。例:
% set a { how are you }
how are you
% lsearch $a y*
2
% lsearch $a y?
-1
10 lsort命令:
语法:lsort ?options? list
这个命令返回把list排序后的串。options可以是如下值:
-ascii 按ASCII字符的顺序排序比较.这是缺省情况。
-dictionary 按字典排序,与-ascii不同的地方是:
(1)不考虑大小写
(2)如果元素中有数字的话,数字被当作整数来排序.
因此:bigBoy排在bigbang和bigboy之间, x10y 排在x9y和x11y之间.
-integer 把list的元素转换成整数,按整数排序.
-real 把list的元素转换成浮点数,按浮点数排序.
-increasing 升序(按ASCII字符比较)
-decreasing 降序(按ASCII字符比较)
-command command TCL自动利用command 命令把每两个元素一一比较,然后给出排序结果。
11 split命令:
语法:split string ?splitChars?
把字符串string按分隔符splitChars分成一个个单词,返回由这些单词组成的串。如果splitChars
是一个空字符{},string被按字符分开。如果splitChars没有给出,以空格为分隔符。例:
% split "how.are.you" .
how are you
% split "how are you"
how are you
% split "how are you" {}
h o w { } a r e { } y o u
12 join命令
语法:join list ?joinString?
join命令是命令的逆。这个命令把list的所有元素合并到一个字符串中,中间以joinString分开。缺省的joinString是空格。例:
% join {h o w { } a r e { } y o u} {}
how are you
% join {how are you} .
how.are.you
E. TCL脚本的file 命令怎么使用
您好,我这里有个案例:
需求:
两个文件夹A和B,A有一些文件,B也有一些文件,其中B的文件A里面可能有。
现在要把A中的文件全复制到B中,如果B中有则不复制了。
如何实现?
File.Copy(源文件地址,目标地址, true(为true是覆盖同名文件));
/// <summary>
/// 从一个目录将其内容移动到另一目录
/// </summary>
/// <param name="p">源目录</param>
/// <param name="p_2">目的目录</param>
private void MoveFolderTo(string p, string p_2)
{
//检查是否存在目的目录
if (!Directory.Exists(p_2))
Directory.CreateDirectory(p_2);
//先来移动文件
DirectoryInfo info = new DirectoryInfo(p);
FileInfo[] files = info.GetFiles();
foreach (FileInfo file in files)
{
File.Copy(param name="p“,Path.Combine(p_2, file.Name), true(为true是覆盖同名文件)); //复制文件
}
}
原址:http://..com/link?url=-sCwdOk1_
希望是你要的答案。
亲,若您还有其他的问题咨询,您可以进入TCL手机企业平台向客服咨询提问喔。
F. 什么是tcl脚本,简单分析一下
Tcl(最早称为“工具命令语言”"Tool Command Language", 但是目前已经不是这个含义,不过我们仍然称呼它为TCL)是一种脚本语言。 由John Ousterhout创建。 TCL经常被用于 快速原型开发,脚本编程,GUI和测试等方面。
Tcl的特性包括:
* 任何东西都是一条命令,包括语法结构(for, if等)。
* 任何事物都可以重新定义和重载。
* 所有的数据类型都可以看作字符串。
* 语法规则相当简单
* 提供事件驱动给Socket和文件。基于时间或者用户定义的事件也可以。
* 动态的域定义。
* 很容易用C,C++,或者Java扩展。
*解释语言,代码能够动态的改变。
* 完全的Unicode支持。
* 平台无关。Win32,UNIX,Mac上都可以跑。
* 和Windows的GUI紧密集成;Tk
* 代码紧凑,易于维护。
TCL本身不提供面向对象的支持。但是语言本身很容易扩展到支持面向对象。许多C语言扩展都提供面向对象能力,包括XOTcl,Incr Tcl等。另外SNIT扩展本身就是用TCL写的。
使用最广泛的TCL扩展是TK。 TK提供了各种OS平台下的图形用户界面GUI。连强大的Python语言都不单独提供自己的GUI,而是提供接口适配到TK上。另一个流行的扩展包是Expect. Expect提供了通过终端自动执行命令的能力,例如(passwd,ftp,telnet等命令驱动的外壳).
G. 怎么通过activetcl将脚本语言写入.tcl文件中,
你得用一个文本编辑器编写代码,比方保存成abc.tcl,然后在命令行窗口执行wish 路径a.tcl,或专者把*.tcl的打开方式设置成属wish。文本编辑器我一般是用notepad++,你试试用记事本行不行,希望能帮到你。