Windows上/dev/null的等价程序是什么?
当前回答
在Windows PowerShell中,你必须使用start和$NUL:
输入这个命令,假设mySum是你的应用程序的名称,5 10是你要发送的命令行参数。
start .\mySum 5 10 > $NUL 2>&1
start命令将启动一个分离的进程,效果与&类似。如果您正在运行的程序是控制台应用程序,则/B选项防止启动打开新的终端窗口。NUL在Windows中相当于/dev/null最后的2>&1将stderr重定向到stdout, stdout将全部指向NUL。
其他回答
在Windows PowerShell中,你必须使用start和$NUL:
输入这个命令,假设mySum是你的应用程序的名称,5 10是你要发送的命令行参数。
start .\mySum 5 10 > $NUL 2>&1
start命令将启动一个分离的进程,效果与&类似。如果您正在运行的程序是控制台应用程序,则/B选项防止启动打开新的终端窗口。NUL在Windows中相当于/dev/null最后的2>&1将stderr重定向到stdout, stdout将全部指向NUL。
唯一可以处理NUL的内置工具是旧的副本。 但请确保,您使用开关/b(二进制),否则内容将不会被OS缓存(这是我的目标)。
将目录(递归)放入操作系统缓存:
for /f "delims=" %f in ('dir /s /b /a-d D:\Solr\data') do @copy /b "%f" nul > nul
使用RamMap(来自Sysinternals)进行验证。
NUL也可以通过编程方式工作。例如:
freopen("NUL", "w", stderr);
按预期工作,无需创建文件。(MSVC + + 12.0)
乔恩·斯基特说得对。这里是Windows嵌入式文档中的null设备驱动程序页面(我不知道为什么它不在其他地方…)
这是另一个:
注册表中的空设备 特殊文件名 关于文件命名的更多信息
如果你需要在微软Windows中执行相当于Linux中/dev/null的符号链接,你可以打开和管理员的cmd并键入:
的文件:
mklink c:\path\to\file.ext NUL:
或者,对于目录:
mklink /D c:\path\to\dir NUL:
这将使文件/目录始终保持0字节,并仍然返回成功的每次写尝试。
推荐文章
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- 为什么git在Windows下记不住我的密码
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 有没有替换Windows (Visual C)的unistd.h ?
- 从Windows批处理文件设置系统环境变量?
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?
- #定义WIN32_LEAN_AND_MEAN具体排除了什么?
- 最好的轻量级web服务器(只有静态内容)的Windows