顯示具有 windows 標籤的文章。 顯示所有文章
顯示具有 windows 標籤的文章。 顯示所有文章

2025年9月23日 星期二

[windows]設定 IP

 這幾年,出門去測機,每每要改別人 windows 電腦的 IP,都找不到熟悉的介面改。

一個改 IP 的介面是越藏越深,越來越難找。

乾脆,用命令列來改反而一行解決。當然,首先,要開啟的是系統管理員權限的命令列

改成固定 IP 的命令如下:

netsh interface ipv4 set address name="eth0" static 192.168.1.5 255.255.255.0

改成 DHCP 的命令如下:

netsh interface ipv4 set address name="eth0" source=dhcp

---
1. 那個 name 的值用 ipconfig 查
2. 為何不從 左下角窗戶>齒輪>網路與網際網路>乙太網路 改呢?因為改了沒生效。
3. 從 左下角窗戶>齒輪>網路與網際網路>進階網路設定 這裡有介面卡的名字,也可以改成方便記憶或下指令的名字
4. 舊的 IP 設定介面,從 左下角窗戶>齒輪>網路與網際網路>進階網路設定 點你要的介面卡,資訊會撐開,按下「編輯」按鈕。會打開舊版的設定畫面,在這裡設定 IPv4 的值,會直接生效。

2016年6月15日 星期三

[windows] usb碟在 windows 與 mac 之間插來插去然後就不能用了。

為了交換資料,用 mac 把一個 usb碟做成 FAT32,剛開始還正常,幾次之後發現,中文字都亂碼了。再用個幾次連容量都不對。回到 windows 看裡面有兩個分割區,比較大的那個 windows 就看不見,想用 windows 來清掉分割區又點不到那個指令,卡住了怎辦?這時候 diskpart 是救星。

有很大的資料要交換,例如影片,用網路來傳還是比較慢,家裡的 wifi 就是沒辦法每秒 25 或 50 MB 來傳。所以一個 FAT32 的 usb碟一直是我的方式。但是這次就遇到檔名亂碼的問題,隨後發生分割區看不到的問題。從 windows 這邊來看,用 mac 來割 FAT32 會弄出兩個主分割區,讓 windows 搞不懂。要救回這個 usb碟的方法,應該是用 windows 自己來切分割區了。打開磁碟管理,對著分割區按下右鍵,清除分割區的選項居然是灰色不能選,這下無解了。至少這條路不能走。難道 windows 真的無招了嗎?
還好,這問題不是只有我發生,外國人也發生,解決方法就是 diskpart.exe 這個內建程式。
我只需要做到清除分割,建立分割區還是用原來的圖形格式化工具。
步驟:
(1) 進到命令列
(2) 輸入 diskpart 之後按 <enter>
(3) 輸入 list disk,看清楚第幾個是你的 usb碟,沒看清楚會非常悲劇,一定要算對。然後用 select disk n 選到你的 usb碟,n 是列表上第幾個磁碟。選完之後,再用 detail disk 確認一下。
(4) 接下來輸入 clean 指令,清除整個分割區。
(5) 離開程式,輸入 exit。
接下來的建立分割區,就照一般的格式化做法就行了。

參考:
http://superuser.com/questions/274687/how-do-i-format-a-usb-drive-on-a-pc-that-was-formatted-on-a-mac

2016年4月2日 星期六

[windows] 要找個執行檔在哪裡,像 linux 的 whereis 的指令?

我不知道為何可以用 curl。用著用著就習慣了。
但是突然發現不能用 request。
想要去更新又不知道到哪兒去更新。

在 linux  有 whereis 指令,但是 windows 就是不叫 whereis。
它就要叫

    where

就這樣,解決。

http://superuser.com/questions/21067/windows-equivalent-of-whereis

2016年3月16日 星期三

[windows] 殺掉佔住某個 port 的程序

今天在測試的時候,一個程式畫面死掉被關掉,但是程序(process)沒有被關掉,一直佔著。
總不能每次發生這種事的時候就重開電腦吧?
於是找了一下,有解!
救星就是 netstat。

使用以下指令:
netstat -a -n -o
會列出所有本機正在開啟的 port,還有 PID。
接下來就是用 task manager,找到那個程序,殺掉它。搞定!

參考:
http://stackoverflow.com/questions/8688949/how-to-close-tcp-and-udp-ports-via-windows-command-line

2013年7月7日 星期日

[nuget]我與 NuGet 初見面

大名鼎鼎的 NuGet,是 Microsoft 開發平台(包含 .NET)的 package manager。因為 Microsoft 開發有太多方便的套件可用,以往都是開發者自行在網路上下載、安裝,難免會有安裝維護上的困擾。而現在透 NuGet,不但方便一般開發者,有統一的搜尋、下載、安裝介面,也方便套件開發者的散佈、維護。

我直到現在才裝來用,因為…我一直使用 VS2008。在沒有 VS2010 (含)以上的狀況,是有提供指令方式。

最近換了 VS2010,按照 http://docs.nuget.org/docs/start-here/installing-nuget 的說明把 NuGet 裝上。

從 工具 > 擴充管理員 把擴充管理員打開,在右上角有搜尋框,輸入 NuGet,就可以選擇 NuGet 套件管理員來安裝。

安裝完會要你重開一次 VS2010。

接下來呢?

假設你的 Window Form 程式 需要一個 json 套件叫做 Json.NET。先建立一個新的專案,在方案總管那裡點右鍵,就會看到「管理 NuGet 套件」。執行前要先確定專案檔已經儲存。

image

等待一些時間,會出現主畫面,搜尋、選擇 Json.NET

image

按安裝就解決了 Json.NET 的下載及安裝了。酷!

以上,是使用 VS2010 Premium 版。

我另外使用 VS2010 C# Express Edition,但是在 Extension Manager 卻找不到 NuGet Package Manager。會不會是有什麼設定要改的呢?

如果有人也是 Express Edition,可以使用 NuGet 的請教教我,感恩。

image

2013年6月24日 星期一

[named pipe] 列出本機已開啟的 named pipe

Named pipe 在 windows 上,是個很常用的 IPC (Interprocess Communication)。

如果下載 pipelist (註1),執行後會列出電腦上已有的 named pipe 的名字。

我執行後嚇一跳,還真是多。

 

利用 c# 也可以寫程式把這些名字列出來。

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

可惜的是,如果電腦上有開啟 vmware,就會有 named pipe 的名字有帶磁碟機符號。

那麼,就會出現以下的錯誤:

System.ArgumentException: 第二個路徑片段不可以是磁碟機或 UNC 名稱。
參數名稱: path2
   於 System.IO.Path.InternalCombine(String path1, String path2)
   於 System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
   於 System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
   於 System.IO.Directory.GetFiles(String path)

這問題,我目前還沒有辦法解決。

所以,pipelist 湊合著用吧。

 

註1:http://technet.microsoft.com/en-us/sysinternals/dd581625.aspx

參考:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365590(v=vs.85).aspx

http://stackoverflow.com/questions/258701/how-can-i-get-a-list-of-all-open-named-pipes-in-windows