【发布时间】:2013-06-25 00:29:24
【问题描述】:
不完全确定 IF 语句是否正常工作。我希望它识别 Desktop.ini 是否存在,是否具有要重写的正确属性,然后重置属性。
这个 IF 语句是否符合我的要求?有时它有时会起作用,但不管我是否有 IF / IF 都不起作用。我想我需要先检查文件是否存在,但我不确定如何。
@ECHO OFF
attrib +s "%CD%"
set ICODIR=%CD%\Icon\
for %%F in ("%ICODIR%"*.ico) do set ICO=%%~nxF
echo %ICO%
echo %ICO:~0,-4%
set ICOINI=Desktop.ini
if exist %ICOINI% attrib -s -h %ICOINI%
echo [.ShellClassInfo] > %ICOINI%
echo IconResource=%ICODIR:~2%%ICO%>>%ICOINI%
echo InfoTip=%ICO:~0,-4%>>%ICOINI%
if not "%2"=="" (
echo FolderType=%2 >> %ICOINI%
)
attrib -a +s +h %ICOINI%
Pause
没有 if 语句的代码。
@ECHO OFF
attrib +s "%CD%"
set ICODIR=%CD%\Icon\
for %%F in ("%ICODIR%"*.ico) do set ICO=%%~nxF
echo %ICO%
echo %ICO:~0,-4%
set ICOINI=Desktop.ini
attrib -s -h %ICOINI%
echo [.ShellClassInfo] > %ICOINI%
echo IconResource=%ICODIR:~2%%ICO%>>%ICOINI%
echo InfoTip=%ICO:~0,-4%>>%ICOINI%
attrib -a +s +h %ICOINI%
Pause
编辑:似乎它有时有效而有时无效的原因更多地与 Windows 相关,而不是批处理文件。好像我把文件夹里的文件删了就行了,难怪找不到错>.
【问题讨论】:
-
您要问我们的问题到底是什么?我在这里没有看到一个。你有什么问题?
-
我想知道如果IF语句搞砸了批处理文件。有时它会重新创建文件夹的图标,有时它会创建文件夹图标,但在查看文件夹属性时只会很小,有时它什么也不做。不知道为什么,想知道是IF语句,Windows还是我写的代码。
-
请edit您的问题并在那里提供该信息,人们可以看到它。您仍然没有提出问题,所以当您进行编辑时,请这样做。这是一个问答网站,要获得答案,您必须先提出问题。 :-) 您需要具体说明它 - 诸如“我的 IF 语句是否有效?”之类的问题。这不是一个合适的问题。
-
你说得对,我只是陈述了我想知道的!从技术上讲,这不是一个问题……我陈述了我认为的问题所在,并表示我想知道我认为的问题是否存在。
-
我已经向您询问了两次 edit 并提供了您遇到的具体问题,并提出了一个具体问题。你没有做过这两件事。 描述您要解决的问题,并提出具体问题。 “你觉得这合适吗?”不是一个有效的问题,而且您在这里没有清楚地描述问题。
标签: windows if-statement batch-file cmd command