我必须在大量目录中执行一组特定的操作。为了节省时间和精力,我创建了一个批处理文件,其中包含我必须运行的所有命令集。但现在我又面临一个问题,即我必须在运行批处理文件之前将其粘贴到目录中。如果我能以某种方式将此批处理文件作为命令放在 Windows 资源管理器工具栏上,我将进一步节省我的时间。
在 Windows XP 中可以这样做吗?
答案1
您可以将批处理文件添加到“SendTo”菜单。在 Windows XP 中,默认情况下,此菜单的内容存储在 中C:\Documents and Settings\*username*\SendTo
。默认情况下,此文件夹是隐藏的。
然后,您可以右键单击任何目录,转到“发送到”菜单,然后选择批处理文件。批处理文件的第一个参数,即%1
,将是您右键单击的文件夹的路径。
考虑这个简单的批处理文件:
@echo off
echo first parameter = %1
pause
将此批处理文件另存为,batch.cmd
并将其放在 SendTo 文件夹中。然后,如果您右键单击,例如,目录:, 选择发给, 进而批处理命令,输出将是
first parameter = "C:\Program Files"
Press any key to continue . . .
笔记:对于 Windows Vista 和 7,SendTo 文件夹位于C:\Users\*username*\AppData\Roaming\Microsoft\Windows\SendTo
。
答案2
我仍然不太清楚这里问题的性质,所以如果这些都无用,请原谅。但是,这些是我想到的一些选项。它们都不会在 Explorer 中添加按钮(我认为有一些实际的编程来实现这一点),但它们应该有助于让你的生活更轻松。
当您需要批处理文件时,无需将其复制到各处,只需将其副本放在 %PATH% 指定的位置之一即可。这样,您可以从命令行运行批处理文件,而不管您当前的工作目录是什么。
您不需要将批处理文件复制到 %PATH% 中已指定的位置,而是可以自行编辑 %PATH% 以指向保存批处理文件的另一个位置。
跳过上述任一选项(或作为对它们的增强),您可以重写批处理文件,以便可以向其输入一个参数,将其指向需要工作的位置。这样,您可以从您想要保存它的任何位置运行它,并且仍然可以让它在您想要的任何地方工作。
对于选项 1:
- 从任何命令提示符下运行以下命令:
echo %PATH%
- 将批处理文件复制到列出的位置之一。
对于选项 2:
- 运行以下命令:
sysdm.cpl
- 在“高级”选项卡上,单击“环境变量...”按钮。
- 在出现的对话框的下半部分中,查找“路径”变量并选择它。
- 单击对话框下半部分的“编辑...”按钮。
- 在末尾添加批处理文件的路径,确保路径与变量中的最后一项之间有一个分号,并且路径末尾还有另一个分号。
- 单击每个打开的对话框的“确定”以保存您的设置。
对于选项 3:
- 将以下行添加到批处理文件的开头:
cd /d %1
- 无论何时从命令行运行批处理文件,请指定希望其工作的路径。
- 如果路径包含空格,请确保将其括在引号中。
- 还包括驱动器号。
- 例1:
mybatfile.bat C:\Workingdirectory1
- 例2:
mybatfile.bat "C:\Documents and Settings\Me\Desktop\My Working Directory"