Windows 小知識:Winodws 文件與文件夾名不區分大小寫

專欄導航

上一篇:Windows 編程輔助技能:速覽定義

回到目錄

下一篇:無

本節前言

本節來分享一個小的知識點,具體地,我們在下面來細說。

一.? ? Windows 系統的文件與文件夾的名字,不區分大小寫

請大家隨意地打開一個文件夾,C 盤里面文件夾也好,D 盤里面的文件夾也行,隨便打開一個就行。

接下來呢,請你新建一個 word 文檔,將其命名為【test.docx】。然后呢,你再試著新建一個 word 文檔,將其命名為【Test.docx】,看看結果如何。

在我這里,新建【test.docx】之后的結果如下。

圖1

新建第二個文件,也就是建立【Test.docx】的時候,出現了以下情形。

圖2

為啥會出現這樣的情形呢?

在 Windows 操作系統里面,【test.docx】,【Test.docx】,【TeST.Docx】,這幾個文件,是同一個文件。在同一個文件夾里面,只能出現一個。

在 Windows 操作系統里面,如果兩個文件或文件夾的名字,它們中涉及英文字母的部分,如果所用的英文字母都是相同的,但是大小寫不完全相同,則這兩個文件或者文件被視為同一個東西,并且在同一個文件夾里面,不能夠同時出現兩個【英文字母相同,但大小寫不完全相同】的文件或文件夾。

在 Windows 操作系統里面,【test.c】,【test.C】,【teST.c】都被視為相同的名字,因為他們的英文字母是相同的,只是大小寫不完全相同而已。不允許其中的任意兩個文件出現在同一個文件夾里面。

而在 Linux 操作系統里面,【test.c】,【test.C】,【teST.c】會被視為不同的名字,允許它們出現在同一個文件夾里面。

在 Linux 內核源代碼里面,可能會出現說,同一個文件夾里面,包含有【main.S】和【main.s】,這倆代碼文件的名字,只有最后的擴展名的大小寫不同。Linux 操作系統里面,允許在一個文件夾里面,同時包含【main.S】和【main.s】,但 Windows 操作系統里面不允許。

所以呢,如果以后大家去下載了 Linux 內核源代碼以后,將其解壓縮的時候,會出現提示,問你對于某些個相同文件名的東西,選擇替換,還是重命名。此時,為了能夠完整地查看源代碼,你最好選擇全部重命名。

二.? ? 不區分大小寫,有何用處?

Windows 系統中,同一個文件夾里面,不區分里面的文件或文件夾名字的大小寫,有什么意義呢?

假定,我們在查看教材中的代碼的時候,發現,在某一個 C/C++ 源代碼文件中,包含有一個頭文件,它的文件名為【Windows.h】。假定這一行代碼以如下方式書寫。

#include <Windows.h>

這么書寫是對的。

然而,你也按以下的幾種方式來書寫。

#include <windows.h>

#include <Windows.H>

#include <WinDows.h>

#include <WINDOWS.H>

之所以可以這么來書寫,是因為,Windows 中文件與文件夾名不區分大小寫的緣故。不論你寫成了哪一種,引用到的,都是同一個頭文件。

這是一個小知識,不難。

我之所以會單獨列出一節,來講解這一知識,是因為,在今后的課節中,我們很可能還會用到這一節的知識。為了免除重復講解這一知識點的麻煩,我就單獨地列出一節,來講解了這一點。

結束語

Windows 編程中,需要去了解和掌握的小知識點也不少。

本節結束。

專欄導航

上一篇:Windows 編程輔助技能:速覽定義

回到目錄

下一篇:無

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92655.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92655.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92655.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

嵌套-列表存儲字典,字典存儲列表,字典存儲字典

字典存儲列表aliens []for alien in range(10):new_alien {"id": alien, "color": "green", "speed": "slow" , "points": 20}aliens.append(new_alien)for alien in aliens[:5]:print(alien) print("...&…

個人筆記Mybatis2

4.配置解析4.1核心配置文件mybatis-config.xmlMyBatis配置包含對MyBatis行為方式有顯著影響的設置和屬性在 MyBatis 中有兩種類型的事務管理器 (也就是 type"[JDBC|MANAGED]”configuration(配置) properties(屬性) settings(設置) typeAliases(類型別名) typeHandlers(類…

使用 Maxwell 和 RabbitMQ 監控 Mysql Flowable 表變更

為什么需要監控數據庫變化&#xff1f;當 Flowable 表中的數據發生變化&#xff08;例如插入新任務、更新狀態或刪除記錄&#xff09;&#xff0c;我們可能需要觸發其他操作&#xff0c;比如通知用戶、更新儀表盤或啟動新流程。Maxwell 可以讀取 MySQL 的二進制日志&#xff08…

MySQL面試題及詳細答案 155道(041-060)

《前后端面試題》專欄集合了前后端各個知識模塊的面試題&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

mysql_mcp_server_pro源碼部署及啟動報錯新手指南:讓智能體長出手來直接獲取到最底層的數據

文章目錄 源碼部署 1.克隆項目地址 2.創建虛擬環境 3.激活環境 4.進入項目目錄下 5.安裝依賴 6.進入到src目錄 7.在當前目錄下,新建一個.env文件 8.配置數據庫信息 9.啟動項目 10.啟動權限管理啟動項目 啟動報錯了: 問題現象與直接原因 解決方案與操作步驟 方案1:允許忽略未定…

jupyter服務器創建賬戶加映射對外賬戶地址

文章目錄一、創建test1-test10用戶&#xff08;跳過已存在的test3&#xff09;二、檢查必要組件是否安裝解決方法&#xff1a;用緊湊格式避免換行解析錯誤核心修復說明&#xff1a;使用方法&#xff1a;以下是根據需求生成的命令、檢查腳本及啟動腳本&#xff0c;按步驟執行即可…

DDR中的POD與ODT

一、POD&#xff08;Pseudo Open Drain&#xff09;技術1. 定義與工作原理POD&#xff08;偽開漏&#xff09; 是DDR4/LPDDR4引入的電壓標準與驅動架構&#xff0c;替代傳統的SSTL&#xff08;Stub Series Terminated Logic&#xff09;。其核心特征是將上拉電源從VDDQ改為VTT&…

企業架構之導論(1)

一、企業架構是什么 企業架構是對企業業務、數據、應用、技術四大核心領域及其相互關系的系統化描述與設計框架。它像一張“城市藍圖”,確保業務戰略能精準映射到IT落地: 本質:是連接業務戰略(做什么)與技術執行(怎么做)的結構化方法論。 核心組件: 業務架構:定義業…

實戰:在已有K8S集群如何新增和刪除Node節點

本篇文章將分享一下如何在已有集群添加新節點和刪除現有節點1 新增節點到K8S集群新增節點可以分為準備節點、配置節點和將其加入集群三步。1.1 準備新節點準備一個相同操作系統的主機作為新節點。參考以前部署的文章&#xff1a;實戰部署k8s 1.28版本集群&#xff0c;跟著操作到…

C++ 黑馬 內存分配模型

一, 內存分配模型內存總共有四個分區1 代碼區 主要用來存儲二進制代碼&#xff0c;由操作系統進行管理2 棧區 由編譯器自己進行釋放和分配&#xff0c;例如函數的傳遞的參數&#xff0c;局部變量&#xff0c;const修飾的局部常量等等....3 堆區 由程序員自己分配和釋放&am…

【華為倉頡編程語言】運行第一個倉頡程序

歡迎來到倉頡編程語言的第一個實戰課程。 上節課我們成功安裝了倉頡工具鏈&#xff0c;今天讓我們一起編寫并運行第一個倉頡程序。相信很多同學都還記得學習第一門編程語言時寫的"Hello World"程序&#xff0c;那種看到程序成功運行的激動心情。今天&#xff0c;我們…

利用DeepSeek改寫并增強測試Duckdb和sqlite的不同插入方法性能

在前文基礎上&#xff0c;好奇作為事務型數據庫的SQLite表現怎么樣&#xff0c;讓DeepSeek來幫忙。 提示詞 請仿照附件編寫用python插入sqlite數據的測試函數&#xff0c;如果sqlite3沒有對應方法就省略 import sqlite3 import pandas as pd import timemethods [字符串拼接, …

進程管理塊(PCB):操作系統進程管理的核心數據結構

進程管理塊&#xff08;PCB&#xff09;&#xff1a;操作系統進程管理的核心數據結構在現代操作系統中&#xff0c;進程管理塊&#xff08;Process Control Block, PCB&#xff09; 是內核用來描述、管理和控制進程生命周期的最核心、最關鍵的數據結構。它就像是一個進程的“身…

線程的sleep、wait、join、yield如何使用?

sleep:讓線程睡眠&#xff0c;期間會出讓cpu&#xff0c;在同步代碼塊中&#xff0c;不會釋放鎖 wait(必須先獲得對應的鎖才能調用):讓線程進 入等待狀態,釋放當前線程持有的鎖資源線程只有在notify 或者notifyAll方法調用后才會被喚醒,然后去爭奪鎖. join: 線程之間協同方式,使…

2025年服裝智能跟單系統TOP3推薦榜單

TOP1領軍者首選推薦&#xff1a;金蝶服裝系統【★★★★★】 在服裝智能跟單系統的領域&#xff0c;金蝶服裝系統憑借其強大的功能和卓越的性能脫穎而出&#xff0c;成為眾多企業的首選。盡管本文標題提及的是另一份榜單&#xff0c;但值得一提的是&#xff0c;金蝶系統若參與評…

基于FFmpeg的B站視頻下載處理

起因是這樣的一天&#xff0c;本人在B站客戶端緩存了一個視頻&#xff0c;用于學習參考等學術交流&#xff0c;但是視頻和音頻卻是分開且通過Win Hex查看發現文件頭含有9個“30”&#xff0c;想到一個個手動刪字節不如讓程序取代&#xff0c;便有了本文章這一篇文章發布之前&am…

【Vue Router】路由模式、懶加載、守衛、權限、緩存

前言 Vue Router 是 Vue 生態中處理頁面跳轉的核心工具&#xff0c;它解決了單頁應用中 URL 管理、組件切換、狀態維護等關鍵問題&#xff0c;同時提供了豐富的功能&#xff08;如動態路由、嵌套路由、路由守衛&#xff09;。除了經常用到的路由配置以外&#xff0c;我們還需了…

Linux epoll 實現詳解 (fs/eventpoll.c)

核心數據結構分析 1. struct eventpoll (epoll 實例核心結構) c struct eventpoll {struct mutex mtx; // 保護 epoll 結構的互斥鎖wait_queue_head_t wq; // epoll_wait() 使用的等待隊列wait_queue_head_t poll_wait; // 文件 poll() 使用的等待隊列struc…

【牛客刷題】小紅的項鏈(字節跳動面試題)

文章目錄 一、題目介紹 1.1 輸入描述 1.2 輸出描述 1.3 示例 二、算法設計思路 三、流程圖 四、題解實現 五、復雜度分析 六、關鍵算法知識點 一、題目介紹 原題鏈接:https://www.nowcoder.com/practice/3da065cab096478eb603bbfca5af8b02 小紅將 n n n個珠子排成一排,然后…

【Html網頁模板】HTML炫酷星空(一閃一閃亮晶晶)

文章目錄專欄導讀功能預覽快速開始核心實現拆解1. 背景與基礎布局2. 背景層靜態星空&#xff08;輕微閃爍&#xff09;3. 前景層“亮晶晶”的閃爍小星星4. 交互與動效5. 行星裝飾可配置項與個性化建議初始化順序&#xff08;入口&#xff09;源碼結語專欄導讀 &#x1f525;&am…