[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求单个文件(文件夹)拖到批处理图标后自动备份

  1. @echo off
  2. set /p #PATH=请拖入需要备份的文件(文件夹)
  3. copy %#path% d:\
  4. pause
复制代码
现在的运行情况是把文件拖到该批处理图标后,是先打开批处理窗口,然后还得再将欲备份的文件拖到该窗口按回车后才能备份。
希望的结果是:将欲备份的文件(文件夹)拖到批处理图标(注意:是图标,不是运行批处理的窗口),不用按回车,直接运行,也就是直接备份。求解答,先谢谢。

本帖最后由 hanyeguxing 于 2011-4-4 18:50 编辑

根据情况设置 xcopy 和 copy 的参数:
  1. @echo off
  2. if "%*"=="" (exit) else set "a=%*"
  3. if exist "%a%\" (
  4.     xcopy "%a%" d:\
  5.     ) else (
  6.     copy "%a%" d:\
  7. )
复制代码
支持两种拖放:
  1. @echo off
  2. if "%*"=="" (
  3.     set/p a=请拖入需要备份的文件(文件夹):
  4.     if not defined a exit
  5. ) else set "a=%*"
  6. for %%a in ("%a%") do echo %%~aa|find /i "d">nul 2>nul&&(
  7.     xcopy "%a%" d:\
  8.     )||(
  9.     copy "%a%" d:\
  10. )
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

学习一下。。

TOP

2# hanyeguxing


版主,这两个代码不行啊,一闪就过,没找到备份的文件啊

TOP

本帖最后由 hanyeguxing 于 2011-4-5 06:24 编辑

4# ny350101
把你的代码贴出来,同时提供系统版本、包含完整路径的你要复制的文件名
  1. @echo off
  2. set "目标文件夹=d:\"
  3. :a
  4. if "%*"=="" (
  5.     set/p a=请拖入需要备份的文件(文件夹):
  6.     if not defined a goto:a
  7. ) else set "a=%*"
  8. if not exist "%目标文件夹%" exit
  9. if exist "%a%\" (
  10.     echo a|xcopy /cfiserh "%a%" "%目标文件夹%"
  11.     ) else (
  12.     copy "%a%" "%目标文件夹%"
  13. )
  14. pause
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表