導航:首頁 > 程序命令 > tcl命令路徑中包含空格

tcl命令路徑中包含空格

發布時間:2025-03-09 17:01:50

❶ file 命令

Tcl中文件名稱操作遵循Unix/Linux的命名規范.

x/y/z表示x文件夾下的y 子文件夾及y以下的子文件夾z.

~admin/email則表示admin用戶的email目錄.

l  file join命令: -->    文件名稱聯合

在Windows文件夾下。\來代表文件夾分隔。比方 \192.168.0.1share ,則應該寫成 \\192.168.0.1\share , 假設考慮使用file split, file join能夠將文件和文件夾跨平台的結合起來。

file join命令能夠讓腳本不因此受限於某種平台,如Unix或Windows

假設某項中有空格,用{}組織起來,再傳給join.

l  file split命令: -->    文件名稱拆分

l  file nativename命令: -->    返回原生格式的文件名稱

l  file dirname命令: -->    移除文件名稱中的最後一不部分

NOTE: 這個命令的功能就是得到包括該文件的文件夾的名稱。所以最後一個文件,得到的就是.。即當前文件夾.

l  file rootname命令: -->    返迴文件名稱中除擴展名之外的部分

l  file extension命令: -->    返迴文件的擴展名

l  file tail命令: -->    返迴文件名稱的最後一部分

l  file normalize命令: -->    返回獨一無二的標准化路徑

l  file pathtype命令: -->    返迴文件名稱的相對絕對路徑

l  pwd命令: -->    列出當前文件夾文件夾

l  cd命令: -->    改變當前目錄

l  glob命令: -->  

該命令能夠獲取一個或很多其它模式參數,返回匹配的文件名稱列表

該模式還同意模式參數包括逗號分隔符,[]

查看該文件夾以下的全部py,pl文件,WINDWOS下\表文件夾.

返回當前目錄的全部子目錄

-types

l  b 塊設備

l  c 字元設備

l  d 代表文件夾

l  f 文件

l  l 代表符號鏈接

l  p 代表命名管道

l  s 代表套接字

l  r 讀

l  w 寫

l  x 可運行

-directory

l  file mkdir命令: -->    創建新文件夾

l  file delete命令: -->    刪除文件

刪除一個文件

刪除多個文件

通配符刪除文件

# 錯誤的方式

# 正確的方式

刪除非空文件,如目錄為空報錯:

必須加-force參數

l  file 命令: -->    拷貝文件

假設已經存在的文件,直接覆蓋會報錯,必須用-force強制覆蓋

能夠復制文件到指定文件夾,但必須是文件夾

l  file rename命令: -->    文件重命名

-force強命名

l  file option name命令: -->    文件信息命令

option能夠是下面信息

exists

isfile

isdirectory

type

readable

size

stat選項:提供了一種簡單方法,能夠獲得文件的各種信息

文件信息的相關操作

r   僅僅讀寫

r+  可讀寫

w   僅僅寫

w+  可讀寫

a   追加寫

a+  可讀寫

文件讀寫的相關操作

gets --> 一次一行讀取文件

puts --> 寫入文件

open --> 打開文件

close --> 關閉文件

flush --> 刷新緩沖區

l  file channels命令: -->   列出全部的通道

stdout --> 標准輸出

stdin --> 標准輸入

stderr --> 標准錯誤

原文連接:http://t.zoukankan.com/clnchanpin-p-6886038.html

❷ TCL編程的語法規則

TCL的語法規則:

1、解釋器
在Tcl的數據結構中的核心是Tcl_Interp.一個解釋器包含了一套命令,一組變數和一些用於描述狀態的東西。每一個 Tcl命令是 在特定的Tcl_Interp中運行的,基於Tcl的應用程序可以同時擁有幾個Tcl_Interp。Tcl_Interp是一個輕量級的結構,可以快速的新建和刪除。

2、數據類型
Tcl只支持一種數據結構:字元串(string)。所有的命令,命令的所有的參數,命令的結果,所有的變數都是字元串。請牢記這一點,所有的東西都是字元串。這是它比較有特點的方面字元串有三種形式:命令(command),表達式(expresion)和表(list)。

3、Basic Command Syntax 基本語法
Tcl有類似於shell和lisp的語法,當然也有許多的不同。一 條Tcl的命令串包含了一條或多條命令用換行符或分號來隔開,而每一條命令包含了一個域(field)的集合,域使用空白分開的,第一個域是一個命令的名字,其它的是作為參數來傳給它。
例如:
set a 22 //相當於C中的 a=22 a是一個變數這條命令分為三個域:1:set 2:a 3:22 set使用於設置變數的值的命令,a、20 作為參數來傳給它,a使它要操作的變數名,22是要付給的a值。
Tcl的命令名可以是內置的命令也可以是用戶建的新命令,如果是用戶用戶建的新命令應用程序中用函數Tcl_CreateCommand來創建。所有的參數作為字元串來傳遞,命令自己會按其所需來解釋的參數的。命令的名字必須被打全,但 Tcl解釋器找不到一同名的命令時會用 unknown命令來代替。
在很多場合下,unknown 會在庫目錄中搜尋,找到一個的話,會自動生成一個Tcl命令並調用它。unknown經常完成縮略的命令名的執行。但最好不要使用。

4、注釋
和shell很象,第一個字母是"#"的Tcl字元串是注釋。
其他細節規則
Grouping arguments with double-quotes 用雙引號來集群參數,目的在於使用有空白的參數。
例如:
set a "this string contains whitespace"
如果一個參數一雙引號來開始,該參數會一直到下一個雙引號才結束。其中可以有換行符和分號。
Variable substitution with $ 用美元符進行變數替換說白了就是引用該變數。
例如:
set a hello
set b $a // b = "hello" 實際上傳給set命令的參數
//是b,"hello"
set c a // b = "a"
Command substitution with brackets 命令子替換(用方括弧)
例如:
set a [set b "hello"]
實現執行 set b "hello" 並用其結果來替換源命令 中的方括弧部分,產生一條新命令
set a "hello" //"hello" 為 set b "hello" 的返回值
最終的結果是b="hello" a="hello"
當命令的一個子域以方括弧開始以方括弧結束,表示要進行一個命令子替換。並執行該子命令,用其結果來替換原命令中的方括弧部分。方括弧中的部分都被視為Tcl命令。
如下一個復雜一點的例子:
set a xyz[set b "abc"].[set c "def"]
//return xyzabcdef
Backslash substitution 轉移符替換
轉移符時間不可列印字元或由它數意義的字元插入進來。這一概念與C語言中的一樣。
 Backspace (0x8).
f Form feed (0xc).
Newline (0xa).
Carriage-return (0xd).
Tab (0x9).
v Vertical tab (0xb).
{ Left brace (`{").
} Right brace (`}").
[ Open bracket (`[").
] Close bracket (`]").
$ Dollar sign (`$").
sp Space (` "): does not terminate argument.
; Semicolon: does not terminate command.
" Double-quote.
Grouping arguments with braces 用花擴括弧來集群參數
用花擴括弧來集群參數與用雙引號來集群參數的區別在於:用花擴括弧來集群參數其中的三種上述的子替換不被執行。而且可以嵌套。
例如:
set a {xyz a {b c d}}//set收到兩個參數 a "xyz a {b c d}"
eval {
set a 22
set b 33
}//eval收到一個參數 "set a 22
set b 33"

5、命令綜述
1.一個命令就是一個字元串(string)。
2.命令是用換行符或分號來分隔的。
3.一個命令由許多的域組成。第一個於是命令名,其它的域作為參數來傳遞。
4.域通常是有空白(Tab橫向製表健 Space空格)來分開的。
5.雙引號可以使一個參數包括換行符或分號。三種子替換仍然發生。
6.花括弧類似於雙引號,只是不進行三總體換。
7.系統只進行一層子替換,機制替換的結果不會再去做子替換。而且子替換可以在任何一個域進行。
8.如果第一個非控字元是`#",這一行的所有東西都是注釋。

6、表達式
對字元串的一種解釋是表達式。幾個命令將其參數按表達式處理,如:expr、for 和 if,並調用Tcl表達式處理器(Tcl_ExprLong,Tcl_ExprBoolean等)來處理它們。其中的運算符與C語言的很相似。
!
邏輯非
* / % + -
<< >>
左移 右移 只能用於整數。
< > <= >= == !=
邏輯比較
& ^ |
位運算和 異或 或
&&''
邏輯"和" "或"
x y : z
If-then-else 與C的一樣
Tcl 中的邏輯真為1,邏輯假為0。
一些例子:
5./ 4.0
5./ ( [string length "abcd"] + 0.0 )
計算字元串的長度 轉化為浮點數來計算
"0x03" > "2"
"0y" < "0x12"
都返回 1
set a 1
expr $a+2
expr 1+2
都返回 3

閱讀全文

與tcl命令路徑中包含空格相關的資料

熱點內容
unity3d手機游戲開發pdf 瀏覽:366
mysql重啟命令linux 瀏覽:876
程序員日常業余內容 瀏覽:363
steam如何更改吃雞伺服器 瀏覽:212
我的世界up主多人用什麼伺服器 瀏覽:161
縫紉機電腦機編程 瀏覽:59
autowired源碼深度解析 瀏覽:895
校園卡怎麼上app 瀏覽:743
pascal高精度演算法 瀏覽:870
阿里雲伺服器如何修改php 瀏覽:8
51單片機小項目 瀏覽:607
為什麼d盤e盤無法解壓 瀏覽:314
軟體放文件夾壓縮以後會變小嗎 瀏覽:669
文件夾中的圖片怎麼整體壓縮 瀏覽:579
程序員那麼可愛媽媽是誰演的 瀏覽:799
密碼反編譯在線 瀏覽:4
php學習小結 瀏覽:13
2019考研英語紅寶書pdf 瀏覽:395
宋代科舉pdf 瀏覽:24
android讀取res 瀏覽:139