# 檔案系統存取限制

出於安全原因，標準模式下的 Qlik Sense 在資料載入指令碼或公開檔案系統的函數與變數中不支援路徑。

然而，由於 QlikView 中支援檔案系統路徑，所以可以停用標準模式並使用舊模式，以便重複使用 QlikView 載入指令碼。

警告備註停用標準模式可以透過公開檔案系統來建立安全性風險。

[停用標準模式](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/LoadData/disable-standard-mode.htm)

## 連接至基於檔案的 ODBC 與 OLE DB 資料連線時的安全方面

使用檔案型驅動程式的 ODBC 與 OLE DB 資料連線，將公開連線字串中已連接資料檔案的路徑。在資料選擇對話方塊或者在某些 SQL 查詢中編輯連線時，可以公開路徑。這是標準模式與舊模式中的案例。

提示備註如果您對公開資料檔案的路徑有疑慮，則建議在可能的情況下，使用資料夾資料連線連接至資料檔案。

## 標準模式下的限制

數個陳述式、變數及函數不能在標準模式下使用，或者有使用限制。在資料載入指令碼中使用不受支援的陳述式會在載入指令碼執行時產生錯誤。可以在指令碼記錄檔中找到錯誤訊息。使用不受支援的變數及函數不會產生錯誤訊息或記錄檔項目。該函數會改為傳回 NULL 值。

在您編輯資料載入指令碼時，不會指明變數、陳述式或函數不受支援。

### 系統變數

系統變數

| 變數 | 標準模式 | 舊模式 | 定義 |
| --- | --- | --- | --- |
| Floppy | 不支援 | 受支援 | 傳回所找到第一個軟碟機的磁碟機代號，通常是 a:。 |
| CD | 不支援 | 受支援 | 傳回所找到第一個光碟機的磁碟機代號。如果找不到 CD-ROM，則會傳回 c:。 |
| QvPath | 不支援 | 受支援 | 會傳回 Qlik Sense 執行檔的瀏覽字串。 |
| QvRoot | 不支援 | 受支援 | 會傳回 Qlik Sense 執行檔的根目錄。 |
| QvWorkPath | 不支援 | 受支援 | 將瀏覽字串傳回目前 Qlik Sense 應用程式。 |
| QvWorkRoot | 不支援 | 受支援 | 傳回目前 Qlik Sense 應用程式的根目錄。 |
| WinPath | 不支援 | 受支援 | 將瀏覽字串傳回 Windows。 |
| WinRoot | 不支援 | 受支援 | 傳回 Windows 的根目錄。 |
| $(include=...) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | Include/Must\_Include 變數會指定包含應該納入指令碼並且評估為指令碼之文字的檔案。這不是用來新增資料。您可以將指令碼的各部分儲存在獨立文字檔中，並在數個應用程式中重複使用。 這是使用者定義的變數。 |

### 一般指令碼陳述式

一般指令碼陳述式

| 陳述式 | 標準模式 | 舊模式 | 定義 |
| --- | --- | --- | --- |
| Binary<br><br>[Binary](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Binary.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | binary 陳述式用來載入另一個應用程式的資料。 |
| Connect<br><br>[Connect](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/CONNECT.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | CONNECT 陳述式用來定義透過 OLE DB/ODBC 介面對一般資料庫的 Qlik Sense 存取。若是 ODBC，首先必須使用 ODBC 管理員指定資料來源。 |
| Directory<br><br>[Directory](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Directory.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | Directory 陳述式會在後續 LOAD 陳述式中定義要在其中尋找資料檔的目錄，直到發出新的 Directory 陳述式為止。 |
| Execute<br><br>[Execute](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Execute.htm) | 不支援 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | Execute 陳述式用來在 Qlik Sense 載入資料時，執行其他程式。例如，進行必要的轉換。 |
| LOAD from ...<br><br>[Load](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | LOAD 陳述式可以從檔案、指令碼中定義的資料、先前載入的表格、網頁、後續 SELECT 陳述式的結果或自動產生的資料來載入欄位。 |
| Store into ...<br><br>[Store](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Store.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | Store 陳述式建立 QVD、Parquet、CSV 或 TXT 檔案。 |

### 指令碼控制陳述式

指令碼控制陳述式

| 陳述式 | 標準模式 | 舊模式 | 定義 |
| --- | --- | --- | --- |
| For each...<br><br><br>filelist mask/dirlist mask<br><br>[For each..next](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/For%20Each.htm) | 受支援的輸入：使用物件庫連線的路徑<br><br>傳回的輸出：物件庫連線 | 受支援的輸入：使用物件庫連線或檔案系統的路徑<br><br>傳回的輸出：物件庫連線或檔案系統路徑，視輸入而定 | filelist mask 語法會對於符合 filelist mask 的目前目錄中的所有檔案產生逗號分隔清單。dirlist mask 語法會對於符合資料夾目錄名稱遮罩的目前資料夾中的所有資料夾產生逗號分隔清單。 |

### 檔案函數

檔案函數

| 函數 | 標準模式 | 舊模式 | 定義 |
| --- | --- | --- | --- |
| Attribute()<br><br>[Attribute - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/Attribute.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | 以文字形式傳回各種媒體檔案的中繼標記值。 |
| ConnectString()<br><br>[ConnectString - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/ConnectString.htm) | 傳回的輸出：物件庫連線名稱 | 物件庫連線名稱或實際連線，取決於輸入 | 傳回 ODBC 或 OLE DB 連線的作用中連線字串。 |
| FileDir()<br><br>[FileDir - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileDir.htm) | 傳回的輸出：物件庫連線 | 傳回的輸出：物件庫連線或檔案系統路徑，視輸入而定 | FileDir 函數會傳回一個字串，其中包含目前正在讀取之表格檔案的目錄路徑。 |
| FilePath()<br><br>[FilePath - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FilePath.htm) | 傳回的輸出：物件庫連線 | 傳回的輸出：物件庫連線或檔案系統路徑，視輸入而定 | FilePath 函數會傳回一個字串，其中包含目前正在讀取之表格檔案的完整路徑。 |
| FileSize()<br><br>[FileSize - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileSize.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | FileSize 函數會傳回一個整數，其中包含檔案 filename 或 (若未指定 filename) 目前正在讀取之表格檔案的大小 (以位元組為單位)。 |
| FileTime()<br><br>[FileTime - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileTime.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | FileTime 函數會以指定檔案上次修改的 UTC 格式傳回時間戳記。若未指定檔案，函數會以目前讀取表格檔案上次修改的 UTC 傳回時間戳記。 |
| GetFolderPath()<br><br>[GetFolderPath - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/GetFolderPath.htm) | 不支援 | 傳回的輸出：絕對路徑 | GetFolderPath 函數會傳回 Microsoft Windows SHGetFolderPath 函數的值。此函數會輸入 Microsoft Windows 資料夾的名稱，並傳回資料夾的完整路徑。 |
| QvdCreateTime()<br><br>[QvdCreateTime - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdCreateTime.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | 此指令碼函數會從 QVD 檔案傳回 XML 標頭時間戳記 (如果呈現的話)，否則會傳回 NULL。 在時間戳記中，所提供時間為協調世界時。 |
| QvdFieldName()<br><br>[QvdFieldName - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdFieldName.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | 此指令碼函數會傳回 QVD 檔案中的欄位編號 fieldno 名稱。如果該欄位不存在，則會傳回 NULL。 |
| QvdNoOfFields()<br><br>[QvdNoOfFields - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdNoOfFields.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | 此指令碼函數會傳回 QVD 檔案中的欄位數。 |
| QvdNoOfRecords()<br><br>[QvdNoOfRecords - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdNoOfRecords.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | 此指令碼函數會傳回 QVD 檔案中的目前記錄數。 |
| QvdTableName()<br><br>[QvdTableName - 指令碼函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdTableName.htm) | 受支援的輸入：使用物件庫連線的路徑 | 受支援的輸入：使用物件庫連線或檔案系統的路徑 | 此指令碼函數會傳回 QVD 檔案中儲存的表格名稱。 |

### 系統函數

系統函數

| 函數 | 標準模式 | 舊模式 | 定義 |
| --- | --- | --- | --- |
| DocumentPath() | 不支援 | 傳回的輸出：絕對路徑 | 此函數會傳回一個字串，其中包含目前 Qlik Sense 應用程式的完整路徑。 |
| GetRegistryString() | 不支援 | 受支援 | 傳回含指定登錄路徑的具名登錄機碼值。此函數可用於類似圖表與指令碼中。 |

## 瞭解更多資訊

* [系統變數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/system-variables.htm)
* [系統函數](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/system-functions.htm)