編碼及解碼 SQL Server 識別碼
SQL Server 分隔識別碼有時會包含 Windows PowerShell 路徑中不支援的字元。 編碼這些字元的十六進位值,就可以指定這些字元。
**開始之前:**限制事項
**處理特殊字元:**編碼識別碼、解碼識別碼
開始之前
Windows PowerShell 路徑名稱中不支援的字元可以表示或編碼為 "%" 字元,後面緊接著代表此字元之位元模式的十六進位值,就像是 "**%**xx"。 編碼一定可以用來處理 Windows PowerShell 路徑中不支援的字元。
Encode-SqlName Cmdlet 會將 SQL Server 識別碼當做輸入。 它會輸出一個字串,其中包含編碼為 "%xx" 之 Windows PowerShell 語言不支援的所有字元。 Decode-SqlName Cmdlet 會將編碼的 SQL Server 識別碼當做輸入,並傳回原始識別碼。
限制事項
Encode-Sqlname 和 Decode-Sqlname Cmdlet 只能編碼或解碼 SQL Server 分隔識別碼中允許的字元,但在 PowerShell 路徑中則不予支援。 這些是由 Encode-SqlName 所編碼並由 Decode-SqlName 所解碼的字元:
字元 |
\ |
/ |
: |
% |
< |
> |
* |
? |
[ |
] |
| |
十六進位編碼 |
%5C |
%2F |
%3A |
%25 |
%3C |
%3E |
%2A |
%3F |
%5B |
%5D |
%7C |
[回到頁首]
編碼識別碼
編碼 PowerShell 路徑中的 SQL Server 識別碼
使用兩種方法的其中一種來編碼 SQL Server 識別碼:
使用語法 %XX 指定不支援字元的十六進位代碼,其中 XX 是十六進位代碼。
識別碼會以加上引號的字串形式傳遞給 Encode-Sqlname Cmdlet。
範例 (編碼)
此範例指定 ":" 字元 (%3A) 的編碼版本:
Set-Location Table%3ATest
您也可以使用 Encode-SqlName 來建立 Windows PowerShell 所支援的名稱:
Set-Location (Encode-SqlName "Table:Test")
[回到頁首]
解碼識別碼
解碼 PowerShell 路徑中的 SQL Server 識別碼
Decode-Sqlname Cmdlet 可用來將十六進位編碼取代為該編碼所代表的字元。
範例 (解碼)
此範例會傳回 "Table:Test":
Decode-SqlName "Table%3ATest"
[回到頁首]