參考:I/O - General File Access Routines —— 基本文件操作函數
01 | CD | 修改當前的工作空間路徑。 | |
02 | FILE_SEARCH | 對文件名進行特定的查找。返回字符串數組。 | |
03 | FILE_COPY | 復制文件或者文件夾。 | |
04 | FILE_DELETE | 刪除文件或者文件夾。 | |
05 | FILE_MOVE | 移動文件或文件夾。 | |
06 | FILE_MKDIR | 新建文件夾。 | |
07 | FILE_TEST | 判斷文件是否存在,返回布爾值。 | |
08 | FILE_BASENAME | 返回文件路徑中的文件/文件夾名稱。 | |
09 | FILE_DIRNAME | 返回文件路徑所在的文件夾路徑。 | |
10 | FILE_EXPAND_PATH | 返回給定文件/文件夾的完整路徑。 | |
11 | FILE_INFO | 返回給定文件/文件夾的屬性信息。 | |
12 | FILE_LINES | 返回指定文件的行數。 | |
13 | ROUTINE_FILEPATH | 返回當前編譯過程或函數的完整路徑。 |
序號 | 名稱 | 功能說明 |
語法 & 舉例 | ||
01 | CD | 修改當前的工作空間路徑。 |
◈ 指定一個完整的路徑: CD, 'D:\home\data\' CD, 'D:/home/data/' ◈ 改變為當前路徑的子路徑: CD, 'january' CD, './january' ◈ 回到上一級路徑: CD, '..' CD, '../february' |
||
02 | FILE_SEARCH | ====<<<< Description >>>>==== 對文件名進行特定的查找。返回字符串數組。 ====<<<< Syntax >>>>==== Result = FILE_SEARCH(Path_Specification) or for recursive searching, Result = FILE_SEARCH(Dir_Specification, Recur_Pattern) Keywords: [, COUNT=variable ] [, /EXPAND_ENVIRONMENT ] [, /EXPAND_TILDE ] [, /FOLD_CASE ] [, /FULLY_QUALIFY_PATH ] [, /ISSUE_ACCESS_ERROR ] [, /MARK_DIRECTORY ] [, /MATCH_ALL_INITIAL_DOT | /MATCH_INITIAL_DOT ] [, /NOSORT ] [, /QUOTE ] [, /TEST_DIRECTORY ] [, /TEST_EXECUTABLE ] [, /TEST_READ ] [, /TEST_REGULAR ] [, /TEST_WRITE ] [, /TEST_ZERO_LENGTH ] [, /WINDOWS_SHORT_NAMES ] ----------------------------------------------------------------------------------====<<<< Return Value >>>>==== 返回值為匹配的字符串數組。 ====<<<< Parameters >>>>====
◈ Path_Specification:路徑字符串,可以包含通配符,如果為空則會默認為"*";如果指定絕對路徑,結果也是絕對路徑,如果是相對路徑,結果只有文件名。 ====<<<< References >>>>==== |
◈ 獲取當前路徑下的所有文件/文件夾: FILE_SEARCH() # 空相當於"*",相對路徑 FILE_SEARCH('*') # 查找全部,相對路徑 FILE_SEARCH('F:\TestPath\*') # 絕對路徑 ◈ 獲取當前路徑下的所有文件: FILE_SEARCH('*.*') FILE_SEARCH(/TEST_REGULAR) ◈ 獲取當前路徑下的所有文件夾: FILE_SEARCH(/TEST_DIRECTORY) 遞歸查詢如下,如果不存在二級文件夾則相當於普通查詢 MyRootDir='D:\CODES\IDL\GUI_test\data' files = FILE_SEARCH(MyRootDir, 'A2017*.nc', count=num)
|
||
03 | FILE_COPY | 復制文件或者文件夾。 |
◈ 當前路徑內部建立副本: FILE_COPY, '1.nc', '2.nc' ◈ 復制到 sub 文件夾中: FILE_COPY, '1.nc', 'sub' ◈ 復制多個文件/文件夾: FILE_COPY, ['*.pro', 'makefile', 'mydata.dat'], 'BACKUP' |
||
04 | FILE_DELETE | 刪除文件或者文件夾。 |
◈ 刪除當前路徑下的 moose 文件夾: FILE_DELETE, 'moose' ◈ 刪除多個文件/文件夾 FILE_DELETE, '2.jpg', '3.jpg' |
||
05 | FILE_MOVE | 移動文件或文件夾。 FILE_MOVE, SourcePath, DestPath [, /ALLOW_SAME] [, /NOEXPAND_PATH] [, /OVERWRITE] [, /REQUIRE_DIRECTORY] [, /VERBOSE] ◈ OVERWRITE:覆蓋文件 |
◈ 文件重命名: FILE_MOVE, 'backup.dat', 'primary.dat' ◈ 移動多個文件/文件夾到另一路徑下: FILE_MOVE, ['*.pro', 'makefile', 'mydata.dat'], 'BACKUP' |
||
06 | FILE_MKDIR | 新建文件夾。 |
FILE_MKDIR, 'moose' FILE_MKDIR, 'moose', 'abc' |
||
07 | FILE_TEST | 判斷文件是否存在,返回布爾值。(1-true、0-false) |
FILE_TEST('tsm') FILE_TEST('1.jpg', /DIRECTORY) |
||
08 | FILE_BASENAME | 返回文件路徑中的文件/文件夾名稱。 FILE_BASENAME(Path [, RemoveSuffix]) ◈ RemoveSuffix:刪除的后綴部分,可以用來刪除文件的擴展名 |
◈ 返回值:dist.pro FILE_BASENAME('C:\idl\lib\dist.pro') ◈ 返回值:dist FILE_BASENAME('C:\idl\lib\dist.pro', '.pro') |
||
09 | FILE_DIRNAME | 返回文件路徑所在的文件夾路徑。 FILE_DIRNAME(Path [, /MARK_DIRECTORY]) ◈ MARK_DIRECTORY:是否在末尾添加“\”等分隔符 |
◈ 返回值:D:\Mc\IDL FILE_DIRNAME('D:\Mc\IDL\1.jpg') ◈ 返回值:D:\Mc\IDL\ FILE_DIRNAME('D:\Mc\IDL\1.jpg', /MARK_DIRECTORY) |
||
10 | FILE_EXPAND_PATH | 返回給定文件/文件夾的完整路徑。 FILE_EXPAND_PATH(Path) |
◈ 返回值:D:\Mc\IDL\1.jpg FILE_EXPAND_PATH('1.jpg') |
||
11 | FILE_INFO | 返回給定文件/文件夾的屬性信息。(路徑、大小等) |
|||
12 | FILE_LINES | 返回指定文件的行數。(文本文件) |
|||
13 | ROUTINE_FILEPATH | 返回當前編譯過程或函數的完整路徑。 |
|||
14 | PATH_SEP | ====<<<< Description >>>>==== 返回當前操作系統分隔符。 ====<<<< Syntax >>>>==== Result = PATH_SEP( [, /PARENT_DIRECTORY] [, /SEARCH_PATH] ) ---------------------------------------------------------------------------------- ====<<<< Parameters >>>>==== ◈ PARENT_DIRECTORY:設置的話返回當前系統父路徑符號。 |
IDL> path_sep() \ IDL> path_sep(/PARENT_DIRECTORY) .. IDL> path_sep(/SEARCH_PATH) ; |
||
15 | CD | ====<<<< Description >>>>==== 用來設置或者改變當前的工作空間。 ====<<<< Syntax >>>>==== CD [, Directory] [, CURRENT=variable] ---------------------------------------------------------------------------------- ====<<<< Parameters >>>>==== ◈ Directory:指定為新工作空間的字符串。 |
IDL> ;指定完整路徑 IDL> CD, 'D:\CODES\IDL' IDL> ;改變為當前目錄的子文件夾 IDL> CD, 'GUI_test' IDL> CD, 'D:\CODES\IDL' IDL> CD, './GUI_test' IDL> ;回到父目錄中 IDL> CD, '..' IDL> ;返回父目錄下的另一個文件夾 IDL> CD, '../folder2' IDL> ;模仿 UNIX 系統 pwd 命令 IDL> CD, CURRENT=c & PRINT, c D:\CODES\IDL |
||
CLIPBOARD | 獲取和設置剪切板內容。 |
||||
GET_SCREEN_SIZE | 獲取主顯示器的長寬像素值。 |
||||
IDLsysMonitorInfo | 首先需要實例化,如示例所示。 |
IDL> obj = obj_new('IDLsysMonitorInfo') IDL> print, obj.GetNumberOfMonitors() 2 IDL> print, obj.GETMONITORNAMES() IDL> print, obj.GETRESOLUTIONS() 0.015119048 0.015119048 0.015119048 0.015119048 IDL> print, obj.ISEXTENDEDDESKTOP() 1 IDL> print, obj.ISEXTENDEDDESKTOP() 1 |
|||
------------------------------------------------------------------------------- |