
可能是一個老問題for對帶空格文件名的處理最后由 DOSforever 于 -6-17 07:56比如有若干個 *.txt 文件,其中有一個或多個帶空格的文件名 filename with spaces.txtfor %f in (*.txt) do dir %f ,set 是通配符的時候引用 %f 必須加雙引號,否則的話會提示找不到文件;for %f in (filename with spaces.txt) do dir %f ,set 不是通配符,只有單文件名的時候 %f 必須不加雙引號,否則的話會提示找不到文件;但如果for %f in (*.txt) do dir %f ,在 set 上加雙引號是無效的,遇到通配符中有空格的文件名仍然會提示找不到文件;for %f in (filename with spaces.txt) do dir %f ,在 set 和 %f 上同時加雙引號,遇到 set 是帶空格的單一文件名是無效的,會提示找不到文件;那么 set 中有時候是通配符,有時候是單文件名,也可能是多個通配符和單文件名在一起,比如 for %f in (*.doc filename with space.txt *.xls) do dir %f那么后面的 %f 一會兒要加雙引號,一會兒不加;那么有沒有辦法用一種統一的格式無論是通配符還是單一文件名對 %f 的引用都可以正確處理?

