花了一些时间,但我自己找到了答案。如果将来对任何人有用,请发布此内容。
dir "%~dp0PlaceShortcutsHere\*" /a /b /-p /o:gen>>"%~dp0ShortcutList_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt"
Pushd \\<Server>\<Share>
for /F "delims=" %%G in (ShortcutList_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt) DO Del "C:\Users\Public\Desktop\%%G"
del "%~dp0ShortcutList_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt"
分解:
dir "%~dp0PlaceShortcutsHere\*" /a /b /-p /o:gen>>"%~dp0ShortcutList_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt"
上面创建了一个文本文件,其中包含快捷方式的名称,供下一行参考。
Pushd \\<Server>\<Share>
for /F "delims=" %%G in (ShortcutList_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt) DO Del "C:\Users\Public\Desktop\%%G"
上面映射了文件临时所在的服务器/共享,然后使用“For /F”循环获取文件名,然后将其删除。
del "%~dp0ShortcutList_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt"
最后,这一行删除了创建的文本文件。
这对于文件夹的内容总是在变化时很有用,它会创建一个最新的文件列表,然后删除列表,防止混淆。
%date:~-4,4%%date:~-7,2%%date:~-10,2%
最后,这个小行会将当前日期输入到文本文档的文件名中,所以如果最后的删除行不起作用,您可以在上面看到日期。猜测一下,我也认为将它放在路径中会使脚本只选择当天的文件,而不是其他任何文件,但我没有对此进行测试。
如果我有任何错误,请纠正我。