我一直在尝试设置一个可以从文件夹内的上下文菜单运行的批处理脚本。批处理脚本的目的是使用预定的文件夹结构填充文件夹。
这需要在多台计算机上复制(Windows 7-10),所以我的想法是拥有一个包含两个批处理文件和一个.reg文件的网络共享。其中一个批处理文件标有" install.cmd"将复制标记为" Subfolders.cmd"的其他批处理文件。到C驱动器上的文件夹,并运行.reg文件在上下文菜单上安装一个快捷方式到" Subfolders.cmd"批处理文件。
我创建了" Subfolders.cmd"批处理文件,它的工作原理,但它必须从我希望文件夹结构设置的文件夹内运行。我将不胜感激如何创建" install.cmd"批处理脚本将在C盘上创建一个文件夹,复制" Subfolders.cmd"脚本进入它,并运行.reg文件在上下文菜单中创建项目,该项目将允许" Subfolders.cmd"批处理脚本将在选定的文件夹中运行。
我很欣赏任何有效方法的示例和/或建议。谢谢!
更新:根据要求,我发布了在打开的文件夹中生成子文件夹的代码。这很简单。
md "Folder1" "Folder1/Sub1A" "Folder1/Sub1B" "Folder2" "Folder2/Sub2A" "Folder2/Sub2B"
答案 0 :(得分:1)
不需要进行所有这些复制。
"\\computername\sharename\folder\file.bat"
将运行存储在另一台计算机上的批处理文件。
同样是reg命令
regedit /s "\\computername\sharename\folder\file.reg"
您可以使用较旧的映射驱动器以及UNC执行上述操作。
您需要显示您的第二个脚本,以便我们可以了解它为什么需要在该文件夹中。
修改强>
您需要指定完整路径。
要获取起始文件夹,请在注册表命令中使用%V
。所以(并且让我们摆脱reg文件)(添加你的蝙蝠而不是回声)
reg add "HKCR\Directory\Background\Shell\Test Command\command" /ve /t REG_EXPAND_SZ /d "cmd /k echo ""%V"""
在批处理中使用%1
获取起始文件夹,使用波浪号(%~1
)删除引号(有关文档,请参阅call /?
)。 (请记住从最低级别创建文件夹,因为更高级别会自动生成)。
md "%~1\folder1\folder2"