亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取 Dos (8.3) 文件名

獲取 Dos (8.3) 文件名

Go
開心每一天1111 2023-04-17 14:55:17
我有一個目錄,其文件名包含“有趣”字符。我想獲取文件的 DOS (8.3) 文件名。我怎樣才能做到這一點?我選擇的語言是 Go。C:\...\foo>dir /x Volume in Laufwerk C: hat keine Bezeichnung. Volumeseriennummer: 329F-C2FE Verzeichnis von C:\...\foo29.09.2018  16:22    <DIR>                       .29.09.2018  16:22    <DIR>                       ..23.07.2009  01:52             5.526 CW9463~1.PDF c?w.pdf               1 Datei(en),      1.922.706 Bytes               0 Verzeichnis(se), 48.235.646.976 Bytes frei我想獲取CW9463~1.PDF文件名而不是c?w.pdf.(我將使用此文件名打開文件進行閱讀。)
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

我找到了解決方案,但它并沒有真正幫助我。


import (

? ? "golang.org/x/sys/windows"

)


func GetShortPathName(name string) (path string, err error) {

? ? lp, err := windows.UTF16PtrFromString(name)

? ? if err != nil {

? ? ? ? return "", err

? ? }

? ? n := uint32(100)


? ? for {

? ? ? ? buf := make([]uint16, n)

? ? ? ? n, err = windows.GetShortPathName(lp, &buf[0], uint32(len(buf)))

? ? ? ? if err != nil {

? ? ? ? ? ? return "", err

? ? ? ? }

? ? ? ? if n <= uint32(len(buf)) {

? ? ? ? ? ? return windows.UTF16ToString(buf[:n]), nil

? ? ? ? }

? ? }

}


查看完整回答
反對 回復 2023-04-17
  • 1 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號