Board logo

标题: 会批处理的进来帮忙看一下 [打印本页]

作者: hzj629206     时间: 2007-9-1 13:35    标题: 会批处理的进来帮忙看一下

我写了个从IE临时文件夹复制特定格式的文件的bat批处理文件,但是为什么老是提示“more”不是内部命令和外部命令,也不是可运行的程序,高手们指点一二:
@echo off

set path1="C:\Documents and Settings\田野\Local Settings\Temporary Internet Files\content.ie5\sopc5jtw"
set path2=C:\Docume~1\田野\桌面
set path=D:\Program Files\Microsoft Office\Office12

cd %path1%

set /p format=请输入要复制的文件格式:
if not exist %path2%\%format% md %path2%\%format%
dir /a *.%format% >%path2%\%format%\%format%.txt

more %path2%\%format%\%format%.txt

set /p choice=是否要编辑 Y/N?

if '%choice%' == 'n' goto continue

echo 请稍候...
winword %path2%\%format%\%format%.txt

:continue
for /f %%i in (%path2%\%format%\%format%.txt) do call :ss %%i

pause
exit

:ss
set var=%1
if exist %var% copy %var% %path2%\%format% >nul

注:单独用more可以执行。

[ Last edited by hzj629206 on 2007-9-1 at 03:54 PM ]
作者: tusheng     时间: 2007-9-1 13:52
more没法执行,估计是你的环境变量少了个目录吧,more没找到。
作者: hzj629206     时间: 2007-9-1 16:14    标题: 解决之一

  经过修改,我发现,只要把那个set path去掉就可以执行more语句,但不清楚为什么?
作者: tusheng     时间: 2007-9-1 16:55
path也是一个dos命令,

可以理解为关键字不能做变量吗?
作者: duanml     时间: 2007-9-3 03:25
内部指令和外部指令的区别都没搞清楚。

外部指令的程序一般都是通过path来被找到的,重设path又不加%path%,出问题是自然的。
作者: tusheng     时间: 2007-9-3 06:21
set path=D:\Program Files\Microsoft Office\Office12
这个是重设path的命令吗?

重设path的命令不是path **;***;****吗?
作者: duanml     时间: 2007-9-3 10:20
"指令path"可以操作"变量path",set也可以操作“变量path"。
作者: duanml     时间: 2007-9-3 10:22
set path=%path%;D:\Program Files\Microsoft Office\Office12