[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求教深入浅出地解释句柄到底是什么

请教达人,句柄到底是什么?对这个完全没概念。
怎样说能完全说清楚,一看就懂就明白。谢谢。
BTW,别扣分,搜过了,相关资料寥寥无几 orz

你可以理解为
句柄1就是JJ,句柄2就是菊花
这是有一个普遍规则的,1出来的肯定是尿尿,2出来的肯定是翔
所以你使用句柄1一般是输出到小便池,而狗狗知道蹲在句柄2后面等待

TOP

本帖最后由 523066680 于 2016-9-14 17:26 编辑

句柄1就是任,句柄2就是督。结合二楼的内容,那么打通任督二脉就是……

正经的,在某些脚本语言中,比如Perl,可以通过句柄操作对象,比如输出信息的句柄:STDOUT,输入的句柄:STDIN 。
例:
STDOUT->autoflush(1); #设置自动刷新缓冲
$getInput = <STDIN>;  #获取终端或者管道输入

还有一种是文件句柄,可以自己定义一个标示符作为句柄,
open WRT, ">", "book.txt";
print WRT "abc";
close WRT;             #关闭句柄

我暂时这么描述:带有某种操作权限/特征的标识符,通过对这个标示符可以间接的操作指定的对象,以及句柄可以被传递。

实际对应的英文单词是 HANDLE,我觉得叫“把柄”更合适吧,造句:“哥抓住了一个文件的把柄”,可能是听上去有点猥琐就叫句柄咯。
轻喷。
1

评分人数

    • Bella: 感谢分享技术 + 1

TOP

多看几遍:
http://bbs.bathome.net/thread-3296-1-1.html

如果哪天你找到“一看就懂”的文章,请给我分享一下
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

往后学,自然就是理解了。
但是想每一个概念都想弄清楚再学其它东西是不太可能的。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 2# zz100001


    好…好有道理,我竟无言以对。

TOP

就是句柄1指导正确输出,句柄2指导错误的输出,nul为空
1>nul  为将正确的输出到空设备,也就是不显示
2>nul  为将错误的输出到空设备,就是不显示

TOP

本帖最后由 lyonamstrong 于 2016-9-18 10:10 编辑

那请问
echoyes 2>1
结果是错误信息没有输出,是什么原因?
按道理2和1的指向都是con,为什么不能输出?

或者说这句echoyes 2>1有意义吗?

TOP

回复 8# lyonamstrong


echoyes 既不是内部命令,也不是外部命令,没有意义。

TOP

回复 9# DiamondbacK


这里写echoyes就是应该输出错误信息,那应该在句柄2,句柄2指向句柄1,只是想知道这样会产生什么结果。

TOP

本帖最后由 DiamondbacK 于 2016-9-18 10:48 编辑

回复 10# lyonamstrong


2>1 的含义并不是将句柄 2 重定向到句柄 1,而是将句柄 2 重定向到文件 1。
type 1 就会看到你生成的这个文件名为 "1" 的文件的内容。

TOP

Echo;>nul 3>a.txt

这句难道不是
输入空格到空设备,所以不回显
然后句柄3重定向到a.txt也就是生成了一个a.txt文件
但是由于句柄3是空
所以a.txt内容为空

为什么再次运行这行时显示The process cannot access the file because it is being used by another process.
打开a.txt里面有内容,显示的是当前所在目录

TOP

回复 12# lyonamstrong

说明有其它程序或软件在占用a.txt,第一次运行后是不是没有退出?

TOP

回复 13# pcl_test


    但是为啥a.txt中有输入D:\也就是当前目录呢?

TOP

回复 14# lyonamstrong

把回显关了@echo off&Echo;>nul 3>a.txt

TOP

返回列表