无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3255|回复: 1
打印 上一主题 下一主题

NIRCMD结合批处理使右键菜单实现一键拷贝文件并运行

[复制链接]
跳转到指定楼层
1#
发表于 2013-11-8 09:22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 acalephe 于 2013-11-22 13:20 编辑

NIRCMD除了扩展DOS命令之外的一个好处是,用于批处理程序中以幽灵方式运行,没有什么痕迹,通过用NIRCMD结合批处理可以使注册表右键实现一键拷贝文件到某文件夹并运行。(对使用RAMDISK的特别爽,播放影音文件时在内存里操作而减小硬盘负载)。方法如下:
1. 若系统内无NIRCMD,下载并拷贝NIRCMD到c:\windows\system32目录下。
2. 在注册表内建立键值。(reg文件示例,与右键菜单原快捷键有冲突时去掉(&Z))

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\CopyRunIt]
@="复制到Y盘运行(&Z)"

[HKEY_CLASSES_ROOT\*\shell\CopyRunIt\command]
@="nircmd execmd C:\\WINDOWS\\GOtoY.BAT \"%1\""

*注意:注册表中的批处理路径不可加引号,否则无效,所以不要将要用到的批处理文件取个有空格的名字或放到有空格的目录下。

3. 编辑批处理文件,置于WINDOWS目录下(本示例批处理文件为gotoy.bat,目的是将任意文件拷贝到y:\software目录下运行):
@echo off&setlocal EnableDelayedExpansion
if exist "Y:\SoftWare\mld.txt" Del /f /q Y:\SoftWare\mld.txt
nircmd.exe clipboard set ""%1""
rem 此处必须用双双引号,否则目录或文件名中有空格时无法完整复制。
nircmd.exe  clipboard addfile "Y:\SoftWare\mld.txt"
nircmd.exe clipboard clear
For /F "delims=/" %%i in (Y:\SoftWare\mld.txt) do Xcopy "%%i" Y:\SoftWare /D /Y
For /F "delims=/" %%a in (Y:\SoftWare\mld.txt) do start "" "y:\software\%%~nxa"
Del /f /q Y:\SoftWare\mld.txt
exit

本批处理的机制是利用nircmd的剪贴板功能,将文件路径写入一个文本文件再读取和操作,简单有效,在WINXP下成功。
推荐
发表于 2013-11-16 19:17:07 | 只看该作者
有时间试一下,谢谢楼主的细致讲解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 07:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表