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

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

Ответить
Настройки темы
CMD/BAT - Копирование и удаление файла перетаскиванием.

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


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

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


Добрый день всем!
Скажите пожалуйста возможно ли сделать так, что бы при перетаскивании произвольного файла на батник или его ярлык, файл копировался в директорию D:/1/ ,а из текущего местоположения удалялся, при этом другие файлы не удалялись?

Отправлено: 21:41, 01-06-2019

 

Ветеран


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

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


Возможно. И первый же вопрос, который возникает: что делать, если в каталоге назначения окажется файл с тем же именем?
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:51, 01-06-2019 | #2



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

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


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


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

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


Цитата Iska:
Возможно. И первый же вопрос, который возникает: что делать, если в каталоге назначения окажется файл с тем же именем? »
Круто. Заменить.
Там дальше скрипт его заберёт и очистит директорию.

Отправлено: 21:56, 01-06-2019 | #3

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

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


avator@vk, кстати, всё равно ярлык батника класть — а можно положить вместо него ярлык на D:\1\ и тащить туда файл правой кнопкой мышки, с выбором "Переместить.

-------
Mikhail Zhilin


Отправлено: 21:59, 01-06-2019 | #4


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


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

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


Цитата mwz:
кстати, всё равно ярлык батника класть — а можно положить вместо него ярлык на D:\1\ и тащить туда файл правой кнопкой мышки, с выбором "Переместить. »
Я думал об этом, мне ещё скрипт надо запустить. Не так красиво будет.
А так взял файлик "бросил" в "черную дыру" и он улетел по smtp и следов от него нет )

Отправлено: 22:05, 01-06-2019 | #5


Ветеран


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

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


avator@vk, вот Вам скрипт WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const strDestPath = "D:\1"


Dim strSourceFile

Dim objFSO
Dim strContent


If WScript.Arguments.Count = 1 Then
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	strSourceFile = objFSO.GetAbsolutePathName(WScript.Arguments.Item(0))
	
	If objFSO.FileExists(strSourceFile) Then
		If objFSO.FolderExists(strDestPath) Then
			objFSO.CopyFile strSourceFile, strDestPath & "\", True
			
			If objFSO.FileExists(objFSO.BuildPath(strDestPath, objFSO.GetFileName(strSourceFile))) Then
				objFSO.DeleteFile strSourceFile, True
			Else
				WScript.Echo "Can't copy source file [" & strSourceFile & "] into destination folder [" & strDestPath & "]."
				WScript.Quit 3
			End If
		Else
			WScript.Echo "Can't find destination folder [" & strDestPath & "]."
			WScript.Quit 3
		End If
	Else
		WScript.Echo "Can't find source file [" & WScript.Arguments.Item(0) & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: Drag any file on me."
	WScript.Quit 1
End If

WScript.Quit 0

Сохраните приведённый код в файл с расширением .vbs и пользуйте, как планировали.

Update:
Цитата avator@vk:
мне ещё скрипт надо запустить. »
Можете совместить.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:06, 01-06-2019 | #6


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


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

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


Да это же чудо! Какой вы умный. Спасибо огромное. Как вообще можно за несколько секунд написать так.... Супер.

Отправлено: 22:13, 01-06-2019 | #7


Аватара для YuS_2

Crazy


Contributor


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

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


Раз уж cmd/bat, то недавно было
Модифицируем его немного, для перемещения:
Код: Выделить весь код
@echo off
set "folder=d:\1"
if not exist "%folder%" md "%folder%"
for %%i in (%*) do (
	move /y "%%~i" "%folder%"
)
- перемещать можно хоть на сам батник, хоть на ярлык, от этого батника...

-------
scio me nihil scire. Ѫ

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

Отправлено: 09:09, 02-06-2019 | #8


Ветеран


Contributor


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

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


Паразитирую на решении YuS_2
Код: Выделить весь код
@Echo Off
	Set "Folder=Z:\1"

	If Not Exist "%Folder%" Md "%Folder%"

	For %%i In (%*) Do (
		If Not Exist "%%~i\" >nul XCopy /H /R /Y "%%~i" "%Folder%\" &&Del /A "%%~i"
		If Exist "%%~i\"  >nul XCopy /H /R /E /Y  "%%~i\*.*" "%Folder%\%%~nxi\" &&Rd /Q /S "%%~i"
	)
pause
Exit /B
Оправдываюсь:
Моё решение годится для файлов и скрытых, и системных, и только для чтения.
Кроме того, мой код отработает и для папок. Если этого не надо, то выделенную строку удалить.
При этом останется контроль при ошибочном указании папки вместо файла.

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

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

Отправлено: 11:35, 02-06-2019 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Поиск, удаление, а затем копирование файла для группы пользователей lcnet Скриптовые языки администрирования Windows 3 08-04-2017 00:22
Разное - [решено] Проблема с перетаскиванием Grey2009 Microsoft Windows 7 4 03-01-2016 15:59
CMD/BAT - копирование\удаление скриптом. 74_pilot_74 Скриптовые языки администрирования Windows 9 24-02-2015 21:20
CMD/BAT - копирование и архивирование, удаление art_27 Скриптовые языки администрирования Windows 0 18-03-2014 16:39
CMD/BAT - копирование выбранного файла в определенное место и добавление к имени файла даты x800 Скриптовые языки администрирования Windows 0 19-02-2014 20:39




 
Переход