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

2020-06-06 11:05:47 +08:00
 kuanng
9177 次点击
所在节点    Windows
72 条回复
ysc3839
2020-06-06 15:52:36 +08:00
Unix 进程参数是字符串数组,由 shell 进行解析分割参数,然后传递字符串数组给子进程。
Windows 进程参数只是一个字符串,由程序根据自己的规则解析成 C 语言风格的字符串数组。大多数程序的解析规则是一致的,Windows 有提供一个解析命令行参数的函数,Visual C++ 也自己实现了一个解析器。
Tianao
2020-06-06 15:55:51 +08:00
如何更改网络适配器的 IP 地址。

前几天去某软件大厂的某分支机构,他们的技术员工不会给自己电脑改 IP 地址。
winterbells
2020-06-06 15:57:31 +08:00
@Cielsky #19 手动改,或者 DISM++ 之类的优化工具
或者地址栏输入 cmd + enter
Death
2020-06-06 16:19:22 +08:00
@also24
中文用户名确实是坑
不过 win10 现在是用邮箱 username 的前几位作为默认用户名了,这一点还不错
u823tg
2020-06-06 16:25:33 +08:00
ctrl+shift+esc 直接打开任务管理器
Huelse
2020-06-06 16:28:51 +08:00
将应用固定在任务栏,win+1,win+2 可以按顺序快速启动和切换应用
geelaw
2020-06-06 16:43:06 +08:00
@Guys #2 错误,cd 是内部命令,你可以写 C:\>cd program files 进入 C:\Program Files,而且如果你的 program 和 files 之间有两个空格不会成功。

@also24 #4 微软账户的默认用户名是 ID 的前五个字母,而不是用户的名字。

@litmxs #9 文件名不能为 DOS 设备名的限制是 Win32 的而不是 Windows 的,而且通过 Win32 最大可以访问长度是 32768 的路径。

@mmdsun #13 那个点是多余的,直接建立名字是 .txt 的文件就可以得到名字是 .txt 的文件。
此外 Program Files 不一定是 PROGRA~1,而且 8.3 文件名可以被关掉甚至删除。

"要求输入凭据的受信任路径" 的作用是要求输入密码之前用 Ctrl+Alt+Delete,和 UAC 是否输入密码是两个不同的问题。如果你想要管理员也输入密码,需要设置 User Account Control: Behavior of the elevantion prompt for administrators in Admin Approval Mode 为 Prompt for credentials on the secure desktop 。
mmdsun
2020-06-06 17:06:31 +08:00
@geelaw 不是多余的.允许创建只有扩展名的文件是 Windows 10 19H1 和 20H1 才有的功能. 早期 windows 会提示必须输入文件名称. 像'.ignore, .config 在资源管理器不多加一个点是创建不了的.'

要求输入凭据的受信任路径 确实是我记错了 感谢补充.
also24
2020-06-06 17:14:50 +08:00
@geelaw #27
我不太确定 Win10 目前是否修改了策略,因为我目前重装都选择离线账户。
之前如果登录账户,会自动创建 "C:/Users/卿 李 /" 这样的用户文件夹(没错中间还有个空格)
also24
2020-06-06 17:16:57 +08:00
@Death #24
那看来是现在的新版本有所修改了,不过我的习惯已经养成了,毕竟一朝被蛇咬。
Nasei
2020-06-06 18:31:08 +08:00
@imn1 c/c++ 处理 win 路径的话,字符串内部全部用 utf8 传递,临近调用 win32 api 前转成宽字符串然后调用 W 后缀的 api 基本就可以了吧
loading
2020-06-06 18:40:14 +08:00
format d: /autotest
这个 autotest 是不需确认,并不是只是测试。
Guys
2020-06-06 19:05:39 +08:00
@geelaw 你发的和我发的有啥区别啊,我写 cd 是在 cmd 里面直接写的 就是为了说明这个文件夹空格问题,您别跟这抖机灵啊,抖机灵也别艾特我啊,自己再一条么,上来就是错了,您看懂我发的啥了吗?您自己看懂自己发的啥了吗?有问题赶快去检查
bytesfold
2020-06-06 19:09:18 +08:00
win+tab 新建桌面,ctrl+win+←→快速切换
winnerczwx
2020-06-06 19:12:35 +08:00
@litmxs 踩过这个坑,枯了
hejw19970413
2020-06-06 19:31:26 +08:00
windows10 用户名一定要英文!!!!!!!!
mengqi
2020-06-06 19:38:34 +08:00
1. 按住 Ctrl+Shift,再单击打开可执行程序,就会通过管理员模式打开;
2. 修改 hosts 文件时,可以 Win+R 输入 drivers 直接打开 C:\Windows\System32\drivers 目录,之后再自行打开 .\etc\hosts,比一层层目录点进去要省不少事;
3. 有什么疑难杂症不妨打开事件查看器 Event Viewer 查看系统错误日志
4. 任务计划管理程序( Task Scheduler )类似 Linux 下的 crontab 可以设置一些定时任务跑一些自动化脚本
5. Windows 有局域网下的文件共享功能,开启后会启动一个 SMB 服务器,再通过 iOS 的「文件」应用作为客户端,连接服务器,就能跨系统传输文件,不需要第三方软件
systemcall
2020-06-06 20:15:49 +08:00
多用 win7 开始自带的搜索,可以解决很多问题
右键点击开始,可以打开一个菜单,很多设置都在上面
虚拟机装个原版 win7,桌面上按 f1,多看看内置帮助,写得挺好的,所以砍了
shijingshijing
2020-06-06 20:26:38 +08:00
@systemcall 哈哈,所以砍了
geelaw
2020-06-06 20:39:23 +08:00
@Guys #33
我理解你的表达的意思是:cd "A B" 才能成功,cd A B 不能成功,交互式使用时 Tab 补全时会自动对带空格的目录加引号。
我没有理解你说的在 batch 里要注意是什么意思:可能是说交互式补全会帮你加引号,batch 里要自己加;也可能是说 batch 里 cd 必须用引号。
无论是 batch 还是交互式,cd A B 都可以成功,所以你关于 cd 需要引号处理空格的表达是错误的。

如果你要问 cd 不需要引号为什么 Tab 补全 cd 也会带引号,这是因为 Command Prompt 比较初级,不会考虑当前命令是什么,故采用更一般的模式。

我相信自从 Windows 支持带空格的文件名以来(也就是至少 Windows 95 以来)就不需要在 cd 里面用引号,主要是为了兼容性,比如 cd %1 这种在 Windows 95 之前写的代码(假设文件名从来都没有空格)在 Windows 95 以后仍然可以正常工作。
不过我找不到 Windows 95 时期的参考文献了,从这篇可以看出 2012 年以来就不需要了 http://dosprompt.info/commands/cd.asp

@mmdsun #28 理解了,这个限制只有 Explorer 有,我的意思用 Win32 访问时无此限制。

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

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

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

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

© 2021 V2EX