Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копия файлов в указанную папку на флешке

Ответить
Настройки темы
CMD/BAT - [решено] Копия файлов в указанную папку на флешке

Новый участник


Сообщения: 30
Благодарности: 3

Профиль | Отправить PM | Цитировать


Здравтсвуйте форумчане))
Помогите пожалуйста своими дарами. У меня есть вот такой скриптик:

Цитата:
@echo off

for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,description^,drivetype 2^>NUL`) do (

if %%l equ 2 (
xcopy /s "%userprofile%\Downloads\copy.txt" %%i\
)
)
Всё копирует отлично в корень флешки, а в указанную папку не выходит ни как, точнее в этом коде не указано копия в указанную папку на флешке.
Помогите пожалуйста до делать этот код, чтоб копировала в указаную папку на ФЛЕШКЕ.

Отправлено: 17:42, 18-11-2018

 

Ветеран


Contributor


Сообщения: 2703
Благодарности: 1683

Профиль | Отправить PM | Цитировать


A.N.D.R.E.I.S.M,
Как вариант, при отсутствии флэшки будет выдано меню на выбор диска
Код: Выделить весь код
@Echo Off
cls
	Set "DirIn=Z:\Box_In\Не Мой контент" 
	Set "DirOut=Тра ля ля"

	Set "DriveName="
	FOR /F "usebackq tokens=1,2 delims==:" %%i IN (`"2^>nul wmic logicaldisk where drivetype="2" get caption /VALUE"`) DO (
		If Not "%%j"=="" Set "DriveName=%%j"
	)

	If Not "%DriveName%"=="" GoTo :MyCopy
	Set /A N=0
	Set "Spisok=0"
	Set "Element=0(нуль)=Выход"
	Call :Description

	Echo ===== Выберите диск для копирования
	FOR /F "usebackq Skip=1 tokens=1,2,3 delims=: " %%i IN (`"wmic logicaldisk where 'drivetype="2" or drivetype="3"' get caption,drivetype,name"`) DO (
		If Not "%%j"=="" Call :Menu "%%i" "%%i: %%A%%j%%"   
	)
	If N==0 Exit /B 1

	CHOICE /C %Spisok%  /M "%Element%"
	If %ErrorLevel% EQU 1 Exit B 0
	Set /A DriveName=%ErrorLevel%-1
	Call Set "DriveName=%%Disk%DriveName%%%"

	:MyCopy
	If Exist "%DriveName%:\%DirOut%\" Rd /S /Q "%DriveName%:\%DirOut%" 
	Xcopy /S /y "%DirIn%\*.*" "%DriveName%:\%DirOut%\"
Pause
GoTo :Eof

:Description
	Set "A0=0 - Unknown"
	Set "A1=1 - No Root Directory"                                                                                 %
	Set "A2=2 - сменный диск"
	Set "A3=3 - жесткий диск"
	Set "A4=4 - сетевой диск"
	Set "A5=5 - CD-ROM"
	Set "A6=6 - RAM диск"
GoTo :Eof

:Menu
	Echo %~2
	Set /A N+=1
	Set "Disk%N%=%~1"
	Set "Spisok=%Spisok%%~1"
GoTo :Eof

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 15-12-2018 в 18:11.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:06, 15-12-2018 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата A.N.D.R.E.I.S.M (из PM):
Цитата megaloman:
на флешки идет копия на вешние диски не хочет »
если поизвращаться (видимо для себя разве)
посмотреть первым или последним будет внешний диск в списке (так как не только он так определится)
Код: Выделить весь код
>spisok.txt (for /f "delims=" %%a in ('"wmic logicaldisk get Name,Description,DriveType,MediaType /value"') do @echo:%%a)
если нужен первый такой из списка:
Код: Выделить весь код
@echo off
set "In=C:\in"
set "Out=C:\out"
set "name="
 
for /f "tokens=2 delims==" %%a in ('wmic logicaldisk where "DriveType=3 and MediaType=12" get Name /value^|find "="') do if not defined name set "name=%%a"
if exist "%name%\%Out%" echo Вот нужный путь: "%name%\%Out%"
pause
если нужен последний такой из списка:
Код: Выделить весь код
@echo off
set "In=C:\in"
set "Out=C:\out"
 
for /f "tokens=2 delims==" %%a in ('wmic logicaldisk where "DriveType=3 and MediaType=12" get Name /value^|find "="') do set "name=%%a"
if exist "%name%\%Out%" echo Вот нужный путь: "%name%\%Out%"
pause

Отправлено: 20:46, 15-12-2018 | #22



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копия файлов в указанную папку на флешке

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Flash - иероглифы вместо файлов на флешке EXTrim.8987 Накопители (SSD, HDD, USB Flash) 7 12-10-2018 11:43
CMD/BAT - нужно чтобы bat-файл скачивал в папку, указанную в ini-файле набор файлов bro8888 Скриптовые языки администрирования Windows 6 13-04-2014 11:15
Исчезнеовение файлов на флешке kapitanvagin Лечение систем от вредоносных программ 1 21-09-2011 11:09
Разное - Удаление файлов с дублированием их в указанную папку Rico Microsoft Windows 2000/XP 6 27-03-2010 22:48
Как на флешке поставить пароль на папку??? Ashez Хочу все знать 4 15-03-2009 15:03




 
Переход