如何將批處理文件複製到子目錄,運行它,然後刪除批處理文件?for循環批處理文件
我工作的一個批處理文件,它會自動改變它是在文件夾中的文件夾圖標如下圖所示:
@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
)
您的第一個腳本適用於我(Win7)。在它工作之前必須刪除什麼? – mojo
@Jubjub Bandersnatch當我運行它時,它確實做了它應該做的事情,除非實際更改文件夾圖標(還包括Win7),它只會在文件夾內的文件被刪除時出現圖標。 –
雖然這聽起來更像是一個Explorer而不是腳本的問題。 – mojo