标题: [文件操作] 求单个文件(文件夹)拖到批处理图标后自动备份 [打印本页]
作者: ny350101 时间: 2011-4-4 18:19 标题: 求单个文件(文件夹)拖到批处理图标后自动备份
- @echo off
- set /p #PATH=请拖入需要备份的文件(文件夹)
- copy %#path% d:\
- pause
复制代码
现在的运行情况是把文件拖到该批处理图标后,是先打开批处理窗口,然后还得再将欲备份的文件拖到该窗口按回车后才能备份。
希望的结果是:将欲备份的文件(文件夹)拖到批处理图标(注意:是图标,不是运行批处理的窗口),不用按回车,直接运行,也就是直接备份。求解答,先谢谢。
作者: hanyeguxing 时间: 2011-4-4 18:38
本帖最后由 hanyeguxing 于 2011-4-4 18:50 编辑
根据情况设置 xcopy 和 copy 的参数:- @echo off
- if "%*"=="" (exit) else set "a=%*"
- if exist "%a%\" (
- xcopy "%a%" d:\
- ) else (
- copy "%a%" d:\
- )
复制代码
支持两种拖放:- @echo off
- if "%*"=="" (
- set/p a=请拖入需要备份的文件(文件夹):
- if not defined a exit
- ) else set "a=%*"
- for %%a in ("%a%") do echo %%~aa|find /i "d">nul 2>nul&&(
- xcopy "%a%" d:\
- )||(
- copy "%a%" d:\
- )
复制代码
作者: hbwazxf 时间: 2011-4-4 18:58
学习一下。。
作者: ny350101 时间: 2011-4-5 00:50
2# hanyeguxing
版主,这两个代码不行啊,一闪就过,没找到备份的文件啊
作者: hanyeguxing 时间: 2011-4-5 06:22
本帖最后由 hanyeguxing 于 2011-4-5 06:24 编辑
4# ny350101
把你的代码贴出来,同时提供系统版本、包含完整路径的你要复制的文件名- @echo off
- set "目标文件夹=d:\"
- :a
- if "%*"=="" (
- set/p a=请拖入需要备份的文件(文件夹):
- if not defined a goto:a
- ) else set "a=%*"
- if not exist "%目标文件夹%" exit
- if exist "%a%\" (
- echo a|xcopy /cfiserh "%a%" "%目标文件夹%"
- ) else (
- copy "%a%" "%目标文件夹%"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |