バッチ ファイルをサブディレクトリにコピーして実行し、バッチ ファイルを削除するにはどうすればよいですか?
私は、それが入っているフォルダーのフォルダーアイコンを自動的に変更するバッチファイルに取り組んでいます。以下に示します:
@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
)