批处理问题!为什么在命令行下能执行的代码写到批处理里却无法执行?急!!!

在命令行下能执行的代码,写到批处理里却无法执行,显示"不是内部或外部命令,也不是可运行的程序或批处理文件。"?代码明明是正确的!清高手解答!~代码如下!@echooffm... 在命令行下能执行的代码,写到批处理里却无法执行,显示"不是内部或外部命令,也不是可运行的程序或批处理文件。"? 代码明明是正确的!
清高手解答!~
代码如下!

@echo off
md D:\Bak!
if not exist D:\Bak!\Desktop.ini (
echo [.ShellClassInfo]>>D:\Bak!\Desktop.ini
echo IconFile=%SystemRoot%\system32\SHELL32.dll>>D:\Bak!\Desktop.ini
echo IconIndex=109>>D:\Bak!\Desktop.ini
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
attrib "D:\Bak!\Desktop.ini" +h)
pause

关键问题是,
我写了一个很长的批处理,原本正确的代码(最后attrib一句)就无法执行了……可是把不能执行的代码粘贴到命令行里却可以执行。同样,如果批处理只要上面这一部分代码也能执行……

难道是什么影响着它作用的发挥?晕了!

还有,要达到更改文件夹图标的目的,怎样刷新文件信息?倒数第二句对不对?
展开
 我来答
百度网友333b7a2
2009-04-08 · TA获得超过355个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:169万
展开全部
一样的题目就不好意思了!!
哈哈
首先说一下
批处理写的没有问题
其实照你说的肯定你苦熬号里面的一句都没有执行到
因为你的D:\Bak!\Desktop.ini 已经存在了
所以if的条件不满足
就......
在执行这个批处理前请先将
隐藏受保护的操作系统文件前的勾去掉
然后选择 现实隐藏的文件和文件夹
最后删除D:\Bak!\Desktop.ini这个文件
再来看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuzhaonan11
2009-04-08 · TA获得超过3711个赞
知道大有可为答主
回答量:2250
采纳率:0%
帮助的人:0
展开全部
1.

你这段语句没有什么问题
告诉你一个调试方法:
把@echo off去掉
打开cmd,然后输入批处理文件的路径回车
看看执行哪个语句时出的问题

2.

倒数第二句不对
UpdatePerUserSystemParameters只能刷新桌面背景之类
我至今除重启explorer进程外没有找到其他刷新图标的方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忆林子
2009-04-05 · TA获得超过2034个赞
知道大有可为答主
回答量:4079
采纳率:0%
帮助的人:2703万
展开全部
是你自己随意调整了那个括号,我想别人给你的时候,最后那个括号应该不是跟attrib在一行上吧。

以下是正确代码。

@echo off
md D:\Bak!
if not exist D:\Bak!\Desktop.ini (
echo [.ShellClassInfo]>>D:\Bak!\Desktop.ini
echo IconFile=%SystemRoot%\system32\SHELL32.dll>>D:\Bak!\Desktop.ini
echo IconIndex=109>>D:\Bak!\Desktop.ini
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
attrib "D:\Bak!\Desktop.ini" +h
)
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mtglq6
2020-12-27
知道答主
回答量:21
采纳率:50%
帮助的人:7851
展开全部
批处理和命令行 不完全一样的
%是转义字符 . 要用两个
批处理 对带空格的程序 没辙 !
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式