SIMPLE :: XCOPY不在.bat中生成输出

时间:2014-10-11 22:58:22

标签: batch-file copy windows-xp xcopy

我是华盛顿州西雅图的一个抵押贷款人,我经常设置一个文件夹层次结构,我保存客户的文件,当他们进入我的时候。多年来我一直在手动创建这些内容,我希望使用批处理文件保存3到4分钟来设置它们。

所以...我有一组默认的文件夹,其中一些文件夹包含几个小的Adobe PDF文件。我想做(并且不能发生)的是运行一个批处理文件,这将有助于我在批处理期间的一些自定义备注或输入,以便通过点击和几次击键,我有一个有组织的文件夹在几秒钟而不是几分钟内为新客户设置。

我已经写了以下内容,但它不会生成任何输出文件夹或文件。

______不确定字符术语是否正确显示 - 请参阅下面的链接图片以了解实际______

@echo off
::Ask
echo Your Source Path:
set INPUT1=
set /P INPUT1=Type input:

echo Your Destination Path:
set INPUT2=
set /P INPUT2=Type input: 

C:\WINDOWS\system32\xcopy.exe /e /v %INPUT1% %INPUT2%

我的回答是:

到第一个提示"E:\DV8333 MY DOCUMENTS\002 ATLAS\ATLAS RESOURCES\000NEWCLIENTFOLDER2014"
到第二个提示"E:\DV8333 MY DOCUMENTS\001 CLIENTS\"

我已经确认xcopy.exe实际上位于上面所示。

我在XP SP3上

为了清楚起见,我的实际路径和.bat文件显示在链接的图像中。

http://www.avidrecording.com/images/01.png

提前致谢,非常感谢。

3 个答案:

答案 0 :(得分:0)

@Rem save this as a .bat file and run
@echo off
set /P source=Enter Source Folder:
echo %Source%
set /P destination=Enter Destination Folder:
echo %destination%
xcopy %source% %destination% /v /i /e

答案 1 :(得分:0)

从根本上说,你的问题似乎是xcopy命令无法确定它接收的数据是参数,哪些切换以及哪些是多余的,因为你的目录名中有空格。

幸运的是,治愈很简单。 "quote your parameters"

C:\WINDOWS\system32\xcopy.exe /e /v "%INPUT1%" "%INPUT2%"

现在 - xcopy.exe的路径可能是多余的 - 扩展名也是如此,所以

xcopy /e /v "%INPUT1%" "%INPUT2%"

很可能是你所需要的。

(在你完善你的方法之前,我要小心尝试一次丢弃目的地。我使用RAMDISK ......)

此外,如果您正在复制模板,那么所有关于输入Input1的文件夹都没有明显的理由。如果您有多个模板集,请为每个模板设置单独的批处理和快捷方式,例如

xcopy /e /v "E:\DV8333 MY DOCUMENTS\002 ATLAS\ATLAS RESOURCES\000NEWCLIENTFOLDER2014" "%INPUT2%"

注意使用引号来打败邪恶的空间。

接下来,您的目标可以构建,但可能包含空格。例如,您可能有一个客户,您希望将其称为“037 - Fred Nurk”。现在输入完整路径是一件痛苦的事情,所以要轻松一点。只需输入037 - Fred Nurk部分,然后批量填写其余部分。

xcopy /e /v "E:\DV8333 MY DOCUMENTS\002 ATLAS\ATLAS RESOURCES\000NEWCLIENTFOLDER2014" "E:\DV8333 MY DOCUMENTS\001 CLIENTS"\"%input2%"\

请注意,这会将输入附加为E...001 clients下的目录。请注意,字符串是连接的,双引号只是告诉批处理“这里是一个可能包含空格的字符串。”

如果这样做,并且没有理由不这样做(对我而言......)那么您需要做的就是输入客户端详细信息,模板将被复制到新目录。现在实际上正在使用复制的文件中的数据,以便他们自定义 - 好吧,价格,这将是值得的另一个问题......

答案 2 :(得分:0)

@echo off
echo Backing up file
set /P source=Enter source folder:
set /P destination=Enter Destination folder:
set /P Folder name=Enter Folder name
set xcopy=xcopy // Set the switches as per your need
%xcopy% %source% %destination%
pause