我们在组织中复制了大量数据,我们喜欢使用RoboCopyPlus来获得稳健性和最后的电子邮件报告。
我已将RoboCopyPlus字符串添加到注册表中的文件夹上下文菜单中:
cmd /c robocopyplus "%1" "C:\Data" *.* /s
但这意味着我只能将文件夹复制到C:\ Data。
提示用户输入或创建可以传递给命令的变量的最佳方法是什么?理想情况下,我想要一个文件夹浏览器对话框弹出并询问它们的位置,但接受这可能使问题复杂化,我将如何在shell中提示用户输入?
答案 0 :(得分:1)
编写一个简单的应用程序让用户选择一个文件,然后使用所选的路径启动RoboCopyPlus。在上下文菜单中添加一个条目,以启动此应用程序。以下是使用FolderBrowserDialog
类和Process.Start()
的C#中的示例。
using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace RobocopyLauncher
{
class Launcher
{
static void Main(string[] args)
{
FolderBrowserDialog browser = new FolderBrowserDialog();
if (browser.ShowDialog() == DialogResult.OK && args.Length == 1)
{
// Not sure of the exact command but it would be
// something like this
Process.Start(string.Format("robocopyplus \"{0}\" \"{1}\"",
args[0], browser.SelectedPath);
}
}
}
}