批处理BAT文件中FOR语句中echo的显示问题

这段代码在CMD窗口运行正常,我想将它写成批处理文件,我只知道FOR中的%应该写成%%,但输出结果还是不对。请大家指教~!cdc:\ssfor/f"delims="%ai... 这段代码在CMD窗口运行正常,我想将它写成批处理文件,我只知道FOR中的%应该写成%%,但输出结果还是不对。请大家指教~!

cd c:\ss

for /f "delims=" %a in ('dir /s/b/a-d c:\ss\aaa.pdf') do (
echo %~ta
set str=%~ta
echo %str:~0,4%
echo %str:~5,2%
echo %str:~8,2%
echo %str:~11,2%
echo %str:~14,2%
set str1=%str:~0,4%%str:~5,2%%str:~8,2%_%str:~11,2%%str:~14,2%
echo %str1%
copy c:\ss\aaa.pdf c:\ews\result\%str1%.pdf
start D:\"Foxit Software"\"Foxit Phantom"\"Foxit Phantom.exe" c:\ews\result\%str1%.pdf
)
=====================
结果:
echo 2011-10-11 12:15
set "str=2011-10-11 12:15"
echo ~0,4
echo ~5,2
echo ~8,2
echo ~11,2
echo ~14,2
set str1=~0,4%str:~5,2%str:~8,2str:~11,2%str:~14,2
echo
copy c:\ss\aaa.pdf c:\ews\result\.pdf
start D:\"Foxit Software"\"Foxit Phantom"\"Foxit Phantom.exe" c:\ews\result\.pd
f
)
2011-10-11 12:15
~0,4
~5,2
~8,2
~11,2
~14,2
ECHO 处于打开状态。
===============================

谢谢大家
也就是说,上面的代码在CMD窗口下运行是正常的,可以输出20111011_1215.PDF,但是在BAT文件里,我只知道将%改成%%,其它的照旧,结果就不无法输出正确结果了。
展开
 我来答
kefanmail
2011-11-04 · TA获得超过690个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:389万
展开全部
为什么要用FOR呢,下面的代码可以实现你的要求,就是将 c:\ss\aaa.pdf 建立一个新的拷贝 c:\ews\result\20111011_1215.pdf
-----------------------------------------------------------------------------------

set "str=2011-10-11 12:15"
set str1=%str:~0,4%%str:~5,2%%str:~8,2%_%str:~11,2%%str:~14,2%
echo %str1%
copy c:\ss\aaa.pdf c:\ews\result\%str1%.pdf
更多追问追答
追问
因为我需要用任务计划来自动运行拷贝程序,需要建立一个批处理文件。
追答
你把我的代码存成BAT可以运行的,我测试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2011-11-04 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4783万
展开全部
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s/b/a-d c:\ss\aaa.pdf') do (
echo %%~ta
set str=%%~ta
echo !str:~0,4!
echo !str:~5,2!
echo !str:~8,2!
echo !str:~11,2!
echo !str:~14,2!
set str1=!str:~0,4!!str:~5,2!!str:~8,2!_!str:~11,2!!str:~14,2!
echo
copy c:\ss\aaa.pdf c:\ews\result\.pdf
start D:\"Foxit Software"\"Foxit Phantom"\"Foxit Phantom.exe" c:\ews\result\.pdf
)
追问
您好,能解释一下为什么要把%改成!么?谢谢!
追答
在循环中使用变量要使用变量延迟,详细介绍看百度百科的介绍。

参考资料: http://baike.baidu.com/view/2923132.htm

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式