|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помогите подправить скрипт |
|
CMD/BAT - [решено] Помогите подправить скрипт
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать Добрый день!
Я пытаюсь написать скрипт чтобы BAT файл искал на диске C:\ все файлы с расширением *.PST и копировал эти файл в определенный каталог через теневые копии. Часть кода с теневым копированием я уже написал, теперь осталась вторая часть del c:\2bTznURgX.bat for /f "tokens=*" %%I in ('dir C:\Users\*.pst /b /s') do ( echo robocopy "%%~dpI" d:\backup\ *.pst /MIR /S /Z /EFSRAW /R:1 /W:1>>c:\2bTznURgX.bat ) c:\2bTznURgX.bat как мне удалить символ "/" из переменной %%~dpI в самом конце ? --------- c:\2bTznURgX.bat -------------- robocopy "C:\Users\user\Documents\555\" D:\backup\ *.pst /MIR /S /Z /EFSRAW /R:1 /W:1 robocopy "C:\Users\Users\user\Documents\342\" D:\backup\ *.pst /MIR /S /Z /EFSRAW /R:1 /W:1 robocopy "C:\Users\Users\user\Documents\123\" D:\backup\ *.pst /MIR /S /Z /EFSRAW /R:1 /W:1 robocopy "C:\Users\Users\user\Downloads\" D:\backup\ *.pst /MIR /S /Z /EFSRAW /R:1 /W:1 P.S. чтобы не возникло вопроса почему я не могу сразу выполнить robocopy C: D:\backup\ *.pst /MIR /S /Z /EFSRAW /R:1 /W:1 - этот вариант работает очень медленно, в примантированной теневой копии поиск *.pst и идёт очень долго и компьютер при этом тормозит. Я хочу в начале на диске найти все *.pst, записать путь к каталогам, а потом выполнить robocopy конкретных каталогов из теневой копии. |
|
Отправлено: 19:37, 07-03-2019 |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать Не проверял
ИМХО, /S здесь в robocopy вреден и существенно замедляет работу. Но я не проверял ...
|
------- Последний раз редактировалось megaloman, 07-03-2019 в 21:41. Отправлено: 21:27, 07-03-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать mayroman, Или вот способ (у себя смоделировал, Вы для своего случая приспособите)
Но, ИМХО, всё-таки это какой-то очень извращенный способ копирования.
|
------- Отправлено: 14:01, 08-03-2019 | #3 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Вот полный код: Setlocal EnableDelayedExpansion del c:\2bTznURgX.bat rmdir C:\2bTznURgX /q SET ShadowPath= wmic shadowcopy call create Volume='C:\' VSSAdmin List Shadows /for=C:\>shadow.tmp FOR /F "usebackq tokens=1,2* delims=:" %%A IN (`FINDSTR /I /C:"\\?\GLOBALROOT" shadow.tmp`) DO SET ShadowPath=%%B MKLINK /D "C:\2bTznURgX" %ShadowPath%\ for /f "tokens=*" %%I in ('dir C:\2bTznURgX /b /s /A:D') do If Exist "%%I\*.pst" ( echo robocopy "%%I" "d:\backup\%date%\%computername%\!random!!random!" *.pst /MIR /S /EFSRAW /R:1 /W:1>>c:\2bTznURgX.bat ) echo rmdir C:\2bTznURgX /q>>c:\2bTznURgX.bat echo del c:\2bTznURgX.bat /q>>c:\2bTznURgX.bat c:\2bTznURgX.bat Пока еще не совсем понял механизм как удалять старые теневые копии vssadmin delete shadows /for=c: /oldest вылетает ошибка "Отказано в доступе", но думаю это можно решить..... |
|
Отправлено: 15:49, 10-03-2019 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - помогите, подправить макрос | kontox | Microsoft Office (Word, Excel, Outlook и т.д.) | 0 | 19-11-2014 12:57 | |
Помогите подправить скрипт! | zga029 | Хочу все знать | 3 | 21-12-2012 09:51 | |
Помогите подправить косяки шаблона DLE | bucefal82 | Вебмастеру | 0 | 29-09-2011 09:23 | |
[решено] Помогите подправить конфигурацию | Craft87 | Выбор отдельных компонентов компьютера и конфигурации в целом | 28 | 11-09-2011 04:32 | |
VBS/WSH/JS - [решено] Помогите подправить скрипт VBS | Pozia | Скриптовые языки администрирования Windows | 37 | 09-04-2010 13:33 |
|