如何将批处理文件复制到子目录,运行它,然后删除批处理文件?
我正在处理一个批处理文件,该文件将自动更改其所在文件夹的文件夹图标。如下所示:
@ECHO OFF
attrib +s "%CD%"
set ICODIR=%CD%\Icon\
for %%F in ("%ICODIR%"*.ico) do set ICO=%%~nxF
set ICOINI=Desktop.ini
IF EXIST 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
这是可行的,在发现许多问题后,它不会创建文件夹图标,直到在该目录中删除文件。
我一直在尝试使用 for 循环来列出所有子目录并存储它们的名称。虽然它首先列出了根目录。我怎样才能让它跳过根目录?代码如下所示:
@ECHO OFF
for /R /D "delims=\" %%d IN (%CD%) do echo %%~nd
Pause
编辑:为什么文件只在最后一个文件夹中制作?
for /D /R "%cd%" %%d IN (*) do (
set something=%%~nd
echo TEST>%something%\Desktop.txt
)