桌面广告?- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1* delims=:" %%i in ('findstr /N .* BGlist.txt') do (
- set /a num=%%~i
- set /a num=%random%%%!num!+1
- if "!num!" == "%%i" set stt=%%~j
- )
- for /f "delims=" %%a in (Flist.txt) do (
- set str=%%a
- call md !str! 1>nul 2>nul
- >!str!\desktop.ini echo [{be098140-a513-11d0-a3a4-00c04fd706ec}]
- >>!str!\desktop.ini echo iconarea_image="!stt!"
- )
- echo !stt!
- findstr /v "\<!stt!\>" BGlist.txt >>tmp_.txt
- del BGlist.txt
- ren tmp_.txt BGlist.txt
- pause
复制代码 这样应该可以了,但是没有添加循环。
心得:
1.刚开始测试的时候,findstr /v "\<!stt!\>" BGlist.txt >>tmp_.txt是写成这样findstr /v "!stt!" BGlist.txt >>tmp_.txt,导致运行一次,生成的tmp_.txt是0字节文本,BGlist.txt也直接变成0字节文本了。可能是D:\bg\Photos\1 (4).png中间有空格,然后把含有D:\bg\Photos\1的所有行去掉,这样的话整个BGlist.txt就直接没有剩下的行了。
2.
>!str!\desktop.ini echo [{be098140-a513-11d0-a3a4-00c04fd706ec}]这里这样写其实是因为我不会输出两行,别人的那个换行输出帖子我还没整明白,因为他那个代码我这测试时没换行的。你这第一行是固定不变的,我就直接用>来写,保证每次循环的时候dekstop.ini的内容不多不少, 刚好够
[ 本帖最后由 sgaizxt001 于 2010-4-20 04:47 编辑 ] |