yanus74
16-08-2014, 21:44
Здравствуйте!
накалякал вот такую конструкцию
for /F "tokens=*" %a in ('dir F:\prise /s /A:d /b') do dir "%a\desktop.ini" /A:s /B | find "desktop.ini"==nul && copy /y f:\desktop.ini "%a"| attrib +h +s "%a\desktop.ini"
1. тут вроде все понято, в переменную записываю путь директории dir F:\prise /s /A:d /b
for /F "tokens=*" %a in ('dir F:\prise /s /A:d /b') do
2. в этой конструкции я проверяю, есть ли уже такой файл.
По логике find "desktop.ini" должен искать в выводе dir "%a\desktop.ini" /A:s /B строку desktop.ini, и если нету ==nul, то...
do dir "%a\desktop.ini" /A:s /B | find "desktop.ini"==nul
3. копировать в директорию файл, и делать его системным и скрытым
copy /y f:\desktop.ini "%a"| attrib +h +s "%a\desktop.ini"
Но не работает, не могу понять, где я допустил ошибку. Помогите пожалуйста.
p.s.
если кому интересно, в файле desktop.ini
[.ShellClassInfo]
DefaultDropEffect=4
не дает перетаскивать папки курсором, просто делает ярлычек - полезно в сетевых шарах, от случайных перетаскиваний
накалякал вот такую конструкцию
for /F "tokens=*" %a in ('dir F:\prise /s /A:d /b') do dir "%a\desktop.ini" /A:s /B | find "desktop.ini"==nul && copy /y f:\desktop.ini "%a"| attrib +h +s "%a\desktop.ini"
1. тут вроде все понято, в переменную записываю путь директории dir F:\prise /s /A:d /b
for /F "tokens=*" %a in ('dir F:\prise /s /A:d /b') do
2. в этой конструкции я проверяю, есть ли уже такой файл.
По логике find "desktop.ini" должен искать в выводе dir "%a\desktop.ini" /A:s /B строку desktop.ini, и если нету ==nul, то...
do dir "%a\desktop.ini" /A:s /B | find "desktop.ini"==nul
3. копировать в директорию файл, и делать его системным и скрытым
copy /y f:\desktop.ini "%a"| attrib +h +s "%a\desktop.ini"
Но не работает, не могу понять, где я допустил ошибку. Помогите пожалуйста.
p.s.
если кому интересно, в файле desktop.ini
[.ShellClassInfo]
DefaultDropEffect=4
не дает перетаскивать папки курсором, просто делает ярлычек - полезно в сетевых шарах, от случайных перетаскиваний