标题: [文件操作] [已解决]求助查错批处理查找同名文件并覆盖替换提示“命令语法错误” [打印本页]
作者: mqi666 时间: 2016-7-14 15:33 标题: [已解决]求助查错批处理查找同名文件并覆盖替换提示“命令语法错误”
求助高手一下!D:\Form_TM\Form.api 这个文件
在C盘
C:\Program Files\Founder\Apabi Reader 4.0\Plugins
C:\program files(x86)\Founder\Apabi Reader 4.0\Plugins
这两个文件夹内查找同名文件并替换
但是W7 W10系统替换系统文件 需要以管理员方式运行
这个BAT怎么做??
命令语法错误 哪位高手帮帮忙看看是哪里有问题!!- @echo off&setlocal enabledelayedexpansion
- set "file=C:\Form_TM\Form.api
- for %%i in ("%file%") do set name=%%~nxi
- for %%i in (C) do (
- echo,正在查找%%i:中的同名文件...
- set choice=null
- for /f "delims=" %%j in ('dir /b /s %%i:\%name% 2^>nul') do (
- if not "%file%"=="%%j" (set /p choice=需要替换【%%j】吗?(Y/N^)) else (set choice=noneed)
- if /i "!choice!"=="Y" copy /y "%file%" %%j
- )
- if /i "!choice!"=="null" echo,没有找到同名文件。
- if /i "!choice!"=="noneed" echo,没有找到其他同名文件。
- echo,
- )
- echo,已按要求完成所有替换,按任意键退出...
- pause>nul
复制代码
作者: mqi666 时间: 2016-7-14 15:39
咋没人回啊???
作者: mqi666 时间: 2016-7-14 15:39
到底是哪有问题呀??
作者: mqi666 时间: 2016-7-14 15:44
晕死!!看来这边也没啥高手啊!
这么简单的问题都处理不了!!
作者: mqi666 时间: 2016-7-14 15:45
解决冲20QB
作者: GNU 时间: 2016-7-14 18:10
把报错信息发出来看看
作者: 回家路上 时间: 2016-7-14 20:35
- set "file=C:\Form_TM\Form.api
复制代码
作者: gawk 时间: 2016-7-14 21:19
回复 7# 回家路上
我的Win7测试这里没有报语法错,你用什么环境测的?
作者: codegay 时间: 2016-7-15 05:15
别这么傻B。只是你自己不会。不是别人会。
作者: 回家路上 时间: 2016-7-15 11:40
回复 8# gawk
哦,这么写确实行,我一眼看去,以为右边少个双引号呢。试了确实还能正确解析。
整个脚本我试了,没错。估计楼主是一时兴起发着玩的吧。也没说错误。
而或许只是脚本没达到自己设想效果而不是错。
作者: mqi666 时间: 2016-7-15 16:45
运行后输入Y就有这个提示了
作者: mqi666 时间: 2016-7-15 16:46
W7 环境下运行的
作者: mqi666 时间: 2016-7-15 16:48
怎么改成找到后直接替换啊!!不用输入Y的
作者: mqi666 时间: 2016-7-15 16:56
找到文件后直接替换这边该怎么写啊???
set choice=null
for /f "delims=" %%j in ('dir /b /s %%i:\%name% 2^>nul') do (
if not "%file%"=="%%j" (set /p choice=需要替换【%%j】吗?(Y/N^)) else (set choice=noneed)
if /i "!choice!"=="Y" copy/y "%file%" %%j
)
if /i "!choice!"=="null" echo,没有找到同名文件。
if /i "!choice!"=="noneed" echo,没有找到其他同名文件。
echo,
)
解决问题后发微信30元红包!!谢谢 或者充20 Q币
作者: GNU 时间: 2016-7-15 17:47
回复 11# mqi666
if /i "!choice!"=="Y" copy /y "%file%" "%%j"
初步猜测是这里少了双引号
如果仍然有问题,请把 @echo off 删掉重新执行,看看具体哪个命令在报错。
作者: CrLf 时间: 2016-7-15 19:53
回复 15# GNU
估计是...
作者: mqi666 时间: 2016-7-17 12:54
星期1看看!!!不再办公室
作者: mqi666 时间: 2016-7-18 09:14
回复 15# GNU
这位老师说的非常对!就是这个双引号问题!我想直接替换该怎么弄!!不需要输入Y N 的
作者: mqi666 时间: 2016-7-18 10:07
回复 15# GNU
这问老师把微信号发给我!我转帐给你
作者: GNU 时间: 2016-7-18 10:35
回复 19# mqi666
请替我捐给论坛吧,谢谢。
支付宝账号 batcher.li@gmail.com
http://bbs.bathome.net/thread-10403-1-1.html
作者: GNU 时间: 2016-7-18 10:43
回复 18# mqi666 - @echo off
- setlocal enabledelayedexpansion
- set "file=C:\Form_TM\Form.api"
- for %%i in ("%file%") do set "name=%%~nxi"
- for %%i in (C) do (
- echo,正在查找%%i:中的同名文件...
- for /f "delims=" %%j in ('dir /b /s "%%i:\%name%" 2^>nul') do (
- if not "%file%"=="%%j" (
- copy /y "%file%" "%%j"
- )
- )
- )
- echo,已按要求完成所有替换,按任意键退出...
- pause>nul
复制代码
作者: mqi666 时间: 2016-7-18 12:56
回复 20# GNU
已转30元
作者: Batcher 时间: 2016-7-18 13:14
回复 22# mqi666
收到,谢谢。
作者: mqi666 时间: 2016-7-18 16:36
问题!已解决!在哪弄啊
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |