中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 01:06
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求个按路径还原文件的命令
楼 主 求个按路径还原文件的命令 发表于 2008-03-07 12:49 ·  中国 广东 深圳 电信
初级用户
积分 66
发帖 25
注册 2008-03-06 12:56
UID 112175
性别 男
状态 离线
@echo off
@echo.
set /p p=要查找的盘或文件夹:
set /p wj=要找的文件或文件后缀名(后缀名要加 *. 这两个符号,如*.txt):
for /f "delims==" %%i in ('dir %p%%wj% /a-d /b /s ') do @echo %%i>>tt.txt
start tt.txt
@echo 下步将要执行把这里的文件移动到这个文件夹里来,是否要继续?
pause
for /f %%a in (tt.txt) do move %%a
@echo 完成!不满意可以修改tt.txt文本里的信息,我将你修改后的信息还原到原位置
pause
for /f %%a in (tt.txt) do for %%b in (%wj%) do move %%b %%a

还差个按路径还原文件的命令
2 发表于 2008-03-07 14:38 ·  中国 广东 深圳 电信
初级用户
积分 66
发帖 25
注册 2008-03-06 12:56
UID 112175
性别 男
状态 离线
没人知道吗?还是太简单,不想写呢??既然没高手??
3 还原的可以这样来写: 发表于 2008-03-08 20:10 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
for /f "delims=" %%a in (tt.txt) do (
move "%%~nxa" "%%~dpa"
)

没测试,有问题跟贴讨论。

另外,以后关于windows下的批处理脚本,建议到 脚本室 里面去发!
4 发表于 2008-03-09 10:26 ·  中国 广东 电信
初级用户
积分 66
发帖 25
注册 2008-03-06 12:56
UID 112175
性别 男
状态 离线
Originally posted by lxmxn at 2008-3-8 20:10:
for /f "delims=" %%a in (tt.txt) do (
move "%%~nxa" "%%~dpa"
)

没测试,有问题跟贴讨论。

另外,以后关于windows下的批处理脚 ...



楼上的,不行啊,它把全部文件只还原到第一个文件夹里去 了
5 发表于 2008-03-09 10:27 ·  中国 广东 电信
初级用户
积分 66
发帖 25
注册 2008-03-06 12:56
UID 112175
性别 男
状态 离线
还有个疑问,就是不能移动。DLL文件??
6 RE fmr520: 发表于 2008-03-09 22:16 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
我测试过了,没发现什么问题。
7 发表于 2008-03-11 13:37 ·  中国 广东 电信
初级用户
积分 66
发帖 25
注册 2008-03-06 12:56
UID 112175
性别 男
状态 离线
不能移动系统文件
8 发表于 2008-03-11 13:38 ·  中国 广东 电信
初级用户
积分 66
发帖 25
注册 2008-03-06 12:56
UID 112175
性别 男
状态 离线
我自己些好了
@echo off
title 文件还原 BY fmr520 08/03/10
color 9f
@echo.
@echo 欢迎使用文件还原,
@echo.
@echo. 本批处理将把你要还原的文件全部还原到原位置。
@echo.
@echo 按任意键开始还原
@echo.
@echo 1. 保留原文件并还原到原位置 2. 不保留文件还原到原位置
@echo.
@echo.
@echo.
set /p hy=请选择:
if %hy% == 1 goto a
if %hy% == 2 goto b
if %hy% == "" goto exit
exit
end
:b
cls
for /f "delims=" %%b in (myfile.txt) do (for /f "delims=" %%c in ('dir/a/b "%%~nxb"') do move "%%c" "%%~dpb")
pause
del myfile.txt /a/f/q
exit
:a
cls
for /f "delims=" %%b in (myfile.txt) do (for /f "delims=" %%c in ('dir/a/b "%%~nxb"') do xcopy "%%c" "%%~dpb" /h/r/y/q/i/v/g)
pause
exit
9 发表于 2008-03-11 13:41 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
Originally posted by fmr520 at 2008-3-11 13:37:
不能移动系统文件

当然不能随便移动,你要XP脑袋搬家它那肯啊
第一高手 第二高手

论坛跳转: