Windows 下有哪些程序员平时不太了解,却很重要的知识?

2020-06-06 11:05:47 +08:00
 kuanng
8767 次点击
所在节点    Windows
72 条回复
mopian
2020-06-06 11:08:29 +08:00
找本 Windows internals,上面全是很重要的知识
Guys
2020-06-06 11:14:46 +08:00
命令行访问带空格的目录时,必需要加引号,不然访问不到:
```
C:\>cd "Program Files\Java"
```
另最新版的 Windows 系统已经帮你处理了这块.table 联想自动会加的,有时候就是用代码执行 bat 的时候需要注意这里.
Whsiqi
2020-06-06 11:19:41 +08:00
文件管理器搜索框输入 cmd
PowerShell
Wt
also24
2020-06-06 11:23:25 +08:00
安装 Win10 的时候,不要直接登录微软帐号,先建立离线英文名帐号,等安装完成以后再登录。
这样可以避免 Win10 把你的用户文件夹设置成中文。

部分不思进取的软件,在遇到用户文件夹为中文时会崩溃~
also24
2020-06-06 11:24:11 +08:00
百度输入法和 JDK 安装包有冲突,如果确实需要使用百度输入法,可以先安装 JDK 再安装百度输入法。
Track13
2020-06-06 11:25:30 +08:00
win + shift + s 截图,不要再手机拍屏幕了。
winterbells
2020-06-06 11:27:11 +08:00
去年一贴子,很多人不知道怎么在当前目录打开 cmd 。。。
zhuangzhuang1988
2020-06-06 11:27:55 +08:00
不要瞎安装软件
然后怪 windows 各种弹窗.
litmxs
2020-06-06 11:35:45 +08:00
Windows 中一些特殊单词不能作为文件名,例如 aux 、com1 、com2 、prn 、con 、nul,如果你发现有软件用用户文件名作为配置文件夹名称,你可以把自己用户名改成上面那些单词,软件可能就会崩溃。
Windows 路径长度最多为 260 个字符。
reiji
2020-06-06 11:43:22 +08:00
@also24 后悔没有早知道这个,真的被坑了好多回
iceheart
2020-06-06 11:45:15 +08:00
讲不出来,因为不了解
imn1
2020-06-06 12:24:39 +08:00
如何分辨给出路径是 junction 还是目录软链
mmdsun
2020-06-06 12:27:44 +08:00
上次开这种帖子的时候发现有人连按住 ctrl 可以多选文件都不知道。


win 创建一个没后缀名的文件需要在文件名称后面紧跟一个点,比如.ignore.系统会自动识别成.ignore

文件删除不掉提示被占用。可以通过资源监视器--cpu--关联句柄里搜索文件,然后结束进程。

使用 PROGRA~1 代替 Program Files 。cmd 访问文件最快的办法是把文件用鼠标拖入 cmd 中。


win 软件闪退想找错误日志? 运行里打开 eventvwr.exe


Windows 文件历史记录可以备份文件十分好用,win 自带的搜索可以设置搜索文件的内容(包括 txt,word,excel 等文件内容)


按住 ctrl+shift+alt 再任务管理器,任务管理器会进入精简模式,便于在系统资源不足时使用任务管理器。任务管理器卡死崩溃,按 ctrl+shift+esc 可以让崩溃的任务管理器在 10 秒内重新启动


创建存储池,可以有效提升磁盘速度。 (若开启 Raid 0 速度快 但有数据丢失风险


在开始菜单点关机重启时,按住 shift 可以修改系统启动模式或进入高级恢复选项。


Win 可以设置在重要操作时要求输入密码:组策略编辑器,Windows 组件,凭据用户界面-要求输入凭据的受信任路径,点击启用.系统 UAC 需要开最高。这样安装软件,修改系统重要设置都需要验证密码。

电脑配置不高,你使用软件比较卡顿时,可以在任务管理器修改进程优先级。正常改为:高于正常。
imn1
2020-06-06 13:01:42 +08:00
@also24 #4
因为 windows 路径是一种复杂的混合编码,如果不是调用 windows api 的话,还是不容易处理的
windows 里面称呼的 unicode,主要是指 utf16le,而 ANSI 则支持本地 locale 和 ASCII,windows 路径同时支持上述情况
有些本地 locale 双字节字符中,第二字节是含有路径排除字符的,例如 GBK “東”、“榎”等,第二字节是 5C,也就是“\”

10 多年前“研究”过这个,说是研究,实际不懂 C 和 windows 核心,还是看资料而已
至少 php5 时代都没能搞定 windows 路径这个难题(现在如何就不知道了),后来转了 python3,全面用 utf8 (本地 locale 也读作 utf8 ),基本无视了 windows 的路径问题,算是一种解决
即使现在,python3+opencv 还是要小心翼翼,路径问题还是存在

@litmxs #9
windows 路径可以在组策略修改,突破默认限制
另外,windows 和 linux 默认路径长度最大限制数字上看差不多,但实际差很远,windows 是字符,linux 是字节(?)
CEBBCAT
2020-06-06 13:11:36 +08:00
重要的是少看知乎上这种看起来含金量真高,但是你好好看看 Windows 7 的自带帮助就能学到大部分,遇到问题 Google 一下就能补全的“冷门知识”
calloc
2020-06-06 13:19:21 +08:00
资源管理器中按住 Shift,再按鼠标右键会弹出带有"在此处打开 CMD/Powershell 窗口"的菜单
chouchoui
2020-06-06 13:27:27 +08:00
选中文件上按住 Shift 点鼠标右键,菜单里会多出一项复制为路径
yukiloh
2020-06-06 15:40:21 +08:00
alt 双击文件夹…
myCupOfTea
2020-06-06 15:42:49 +08:00
命令行打开 powershell $profile 文件,比如 vscode, code $profile
设置允许执行自定义脚本 set-ExecutionPolicy RemoteSigned
自定义 powershell 脚本,然后就可以在 $profile 对应的路径文件里修改自定义脚本呢
分享个我自己的脚本
function curPath {
return (Get-Location).path
}

function open($path) {
return explorer($path)
}

function stitle($title) {
$host.ui.RawUI.WindowTitle = $title
}

function ol {
explorer(curPath)
}

function olp {
start-process powershell
}

function olpp {
start-process powershell -ArgumentList "-noexit", "activate base"
}

function lpy($path) {
$command = "python {0}" -f $path
activate base
iex $command
}

function olpy($path) {
$command = "lpy {0}" -f $path
start-process powershell -ArgumentList "-noexit", $command
}

function i($path = './') {
idea64.exe $path
}

function gtm($commit = 'nth') {
git commit -m"$commit"
}

function gta {
git add -A
}

function gtp {
git push
}

function gto {
git push origin master
}

function gts {
git status
}

function ws {
cd "D:/zouwendi"
}

function ow {
cd "C:\Users\54209\OneDrive"
}

function owdc {
cd "C:\Users\54209\OneDrive\Documents\公司文档"
}

function Get-HashString {

[CmdletBinding()]
Param (
[int] $length = 8
)

Begin {
}

Process {
Write-Output ( -join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) | Get-Random -Count $length | % { [char]$_ }) )
}
}

function tmp {
cd "D:\workspace\tmp"
}

function ctmp {
cd "D:\workspace\tmp"
$path = (Get-HashString)
mkdir $path
cd $path
}

function dtmp {
cd "D:\workspace\tmp"
rimraf *
}
Cielsky
2020-06-06 15:45:54 +08:00
@winterbells 现在是不是没这个选项了,只有 powershell 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/679126

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX