Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/103: Рейтинг темы: голосов - 103, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 6

Копирование всех файлов (кроме ярлыков) с рабочего стола в другую папку

04.07.2012, 19:19. Показов 21386. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать командый файл для копирование всех файлов с рабочего стола (кроме ярлыков) в другую папку?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.07.2012, 19:19
Ответы с готовыми решениями:

Очистка рабочего стола от всех файлов, кроме файлов с определёнными расширениями
Добрый день. Помогите написать скрипт для очистки определенных папок (Рабочий стол, Мои документы) от всех файлов, кроме с определенными...

Копирование всех файлов с заданным расширением из одной заданной папки в другую заданную папку
Создайте командный файл, который копирует все файлы с расширением, заданным в качестве первого параметре из папки, заданной вторым парамет-...

Нужен .bat который будет удалять все с рабочего стола кроме 3 файлов по выбору
Нужен .bat который будет удалять все с рабочего стола кроме 3 файлов по выбору. в моем случае это: 1. этот компьютер. 2. 1с.ink 3....

16
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
04.07.2012, 22:04
Лучший ответ Сообщение было отмечено как решение

Решение

Code
1
xcopy "%USERPROFILE%\Рабочий стол\*.*" "dest_dir\" /S /E /O /X /EXCLUDE:lnk
файлик lnk содержит список исключений, по одному на строчку:
Code
1
2
lnk
.lnk
1 стр - не копировать самого себя;
2 - не копировать ярлыки.
Ну и
Code
xcopy /?|more
в помощь.
3
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 6
05.07.2012, 08:12  [ТС]
Все разобрался). А как создать команддный файл для перемещение всех файлов с рабочего стола (кроме ярлыков) в другую папку?
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
05.07.2012, 18:55
Code
1
2
3
xcopy "%USERPROFILE%\Рабочий стол\*.*" "dest_dir\" /S /E /O /X /EXCLUDE:lnk > log
for /f "delims=" %%z in (log) do del "%%z"
del log
Т.е. заставим xcopy вести протокол копирования, который потом построчно читаем. "delims=" добавлен для того, чтобы имена файлов/папок с пробелами не разбивались на отдельные токены. Как-то так... Как удалять оставшиеся пустые папки - хз. И да, имя файла протокола(log) надо внести в файлик исключений(lnk) для xcopy, иначе может случиться конфуз.
1
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
05.07.2012, 19:54
Для перемещения с рабочего стола пользователя всех файлов, кроме *.lnk
Code
1
2
3
4
5
6
7
8
@echo off
:: Создаём папку, например "экран" 
md c:\экран
For /F "Delims=" %%a in ('Dir "%USERPROFILE%\Рабочий стол\*" /B 2^>nul') Do (
if not "%%~xa"==".lnk" (
move "%USERPROFILE%\Рабочий стол\%%a" "c:\экран\"
))
pause
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
14.07.2012, 03:04
Вот мои наработки по автоматическому определению папки-расположения рабочего стола на разных ОС (может кому згодится):

Bash
1
2
3
4
5
6
7
8
9
10
11
@echo off
chcp 1251
setlocal
set files=Русс.lnk 1111*.lnk *z.lnk
%homedrive%
if exist "%homedrive%%homepath%\desktop" (set homedesk=desktop) else (set homedesk=Рабочий стол)
if exist "%public%" (set comdesk=%public%\%homedesk%) else (set comdesk=%allusersprofile%\%homedesk%)
chdir "%homedrive%%homepath%\%homedesk%"
for %%a in (%files%) do (echo del /q "%%a"&echo del /q "%comdesk%\%%a" >nul)
endlocal
chcp 866
Скрипт удаляет, указанные в строке № 4, файлы с рабочего стола текущего пользователя и общем рабочем столе (AllUsers).
Сохранять батник в кодировке 866.
1
 Аватар для gurlov
3 / 3 / 3
Регистрация: 27.05.2014
Сообщений: 373
27.07.2015, 12:23
Dragokas,
Спасибо, воспользовался вашим примером. Однако вот такая конструкция:
Windows Batch file
1
2
if exist "%homedrive%%homepath%\desktop" (set homedesk="%homedrive%%homepath%\desktop") else (set homedesk="%homedrive%%homepath%\Рабочий стол")
echo %homedesk%
даёт вот такой ответ
"C:\Users\Ђавс¬\Рабочий стол"
и ни чего копировать или удалять по этому пути не желает. Подскажите, пожалуйста, что это может быть?
P.S.: реальный путь "C:\Users\Артём\Рабочий стол"
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2015, 12:43
Здравствуйте!
Там просто нужно кодировку батника сменить.
Но правильнее будет брать инфу о расположении рабочего стола из реестра:

Windows Batch file
1
2
3
4
5
6
7
@echo off
SetLocal EnableExtensions
 
For /F "delims=" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do set "Desktop=%%a"
For /F "tokens=*" %%a in ("%Desktop:*_SZ=%") do call set "Desktop=%%a"
echo Desktop="%Desktop%"
pause
2
 Аватар для gurlov
3 / 3 / 3
Регистрация: 27.05.2014
Сообщений: 373
27.07.2015, 13:14
Цитата Сообщение от Dragokas Посмотреть сообщение
Там просто нужно кодировку батника сменить.
если менять кодировку самого батника, то в выводе Рабочий стол тоже меняется на другие символы, а вот Ђавс¬ как было так и остаётся неизменным. Меня это смущает.
Цитата Сообщение от Dragokas Посмотреть сообщение
Но правильнее будет брать инфу о расположении рабочего стола из реестра:
Спасибо, сейчас по-тестирую. Этот способ универсален для любых Windows? и для русского и английского логина пользователя?

Добавлено через 8 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
Но правильнее будет брать инфу о расположении рабочего стола из реестра:
добавил к вашему коду копирование на рабочий стол:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
SetLocal EnableExtensions
 
For /F "delims=" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do set "Desktop=%%a"
For /F "tokens=*" %%a in ("%Desktop:*_SZ=%") do call set "Desktop=%%a"
echo Desktop="%Desktop%"
 
xcopy \\10.10.10.253\share\xxx.url "%Desktop%" /d /y /s /v
 
pause
вот его результат работы:
Code
1
2
3
4
5
6
7
Desktop="C:\Users\Ђавс¬\Desktop"
Что означает C:\Users\Ђавс¬\Desktop:
имя файла или каталога
(F = файл, D = каталог)? f
Недопустимый путь
Скопировано файлов: 0.
Для продолжения нажмите любую клавишу . . .
не то что то у меня, не то...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2015, 13:26
На XP надо бы перепроверить. Там версия reg.exe другая. По поводу языков - универсален.
Цитата Сообщение от gurlov Посмотреть сообщение
если менять кодировку самого батника, то в выводе Рабочий стол тоже меняется на другие символы, а вот Ђавс¬ как было так и остаётся неизменным.
Так и должно быть. Само копирование пройдет нормально.
Если еще и chcp 1251 убрать, то в консоли увидите русский текст без преобразований. Там она для лучшей совместимости. Например, путь с украинкой i без нее не отработает. А в консоли да, будут написаны крякозябики.

Добавлено через 8 минут
Не порядок.

Пришлите файл reg.txt

Windows Batch file
1
2
>reg.txt reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
explorer /select,reg.txt
1
 Аватар для gurlov
3 / 3 / 3
Регистрация: 27.05.2014
Сообщений: 373
27.07.2015, 15:29
Цитата Сообщение от Dragokas Посмотреть сообщение
Пришлите файл reg.txt
Файл создался, но пустой, 0байт.
в реестре данный параметр имеет значение %USERPROFILE%\Desktop
У меня win7
0
 Аватар для gurlov
3 / 3 / 3
Регистрация: 27.05.2014
Сообщений: 373
27.07.2015, 18:08
Цитата Сообщение от Dragokas Посмотреть сообщение
Пришлите файл reg.txt
такой вариант:
Windows Batch file
1
2
3
4
@echo off
>D:\reg.txt reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
explorer /select,D:\reg.txt
pause
и при запуске от администратора выдал файл reg.txt
Вложения
Тип файла: txt reg.txt (148 байт, 11 просмотров)
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2015, 18:16
Цитата Сообщение от gurlov Посмотреть сообщение
Файл создался, но пустой, 0байт.
Понятия не имею, что у Вас происходит. Могу только по удаленке посмотреть.

Добавлено через 1 минуту
Цитата Сообщение от gurlov Посмотреть сообщение
и при запуске от администратора выдал файл reg.txt
У Вас учетка гостя, или почему права на столько урезаны?

Добавлено через 31 секунду
Вариант из поста № 9 работал же без админа как я понимаю.

Добавлено через 5 минут
Скиньте еще вот такой отчет Desktop.txt и Ваш файл батника в виде файла.

Windows Batch file
1
2
3
4
5
6
7
@echo off
SetLocal EnableExtensions
 
For /F "delims=" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do set "Desktop=%%a"
For /F "tokens=*" %%a in ("%Desktop:*_SZ=%") do call set "Desktop=%%a"
echo Desktop="%Desktop%"> Desktop.txt
dir c:\users /x >> Desktop.txt
2
 Аватар для gurlov
3 / 3 / 3
Регистрация: 27.05.2014
Сообщений: 373
28.07.2015, 17:55
Ах ты ж !!!!!!
Вот в чём причина: На компьютере стоит программа CLINK, которая меняет настройки CMD (в частности сохраняет историю команд), она то и мешала адекватно обрабатывать %userprofile% и т.п. что содержит кирилицу. Снёс программу - всё отлично работает, теперь путь имеет вид C:\Users\Артём.
Dragokas спасибо за помощь!! Вы реально подтолкнули к решению
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
28.07.2015, 20:03
Цитата Сообщение от gurlov Посмотреть сообщение
На компьютере стоит программа CLINK
conemu будет поинтереснее.

Добавлено через 4 минуты
В итоге батник открывался через эту программу или она на лету меняет настройки cmd.exe ? (чисто ради интереса)
0
 Аватар для gurlov
3 / 3 / 3
Регистрация: 27.05.2014
Сообщений: 373
29.07.2015, 17:02
Цитата Сообщение от Dragokas Посмотреть сообщение
... или она на лету меняет настройки cmd.exe
видимо этот вариант, так как работает всегда именно cmd.exe. CONEMU такая же?
0
29.07.2015, 21:32

Не по теме:

Нет. Это отдельная программа-интерпретатор.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2015, 21:32
Помогаю со студенческими работами здесь

Запрет на удаление ярлыков с рабочего стола
Доброго времени суток! Работаю в школе, появилась необходимость ограничить действия учеников на компьютере. Windows 10 Был создан...

Рекурсивное копирование всех файлов определенного расширения в одну папку
как можно скопировать(из всех вложенных папок) все файлы определенного расширения в одну папку? Может есть какой-то замечательный флажок,...

Перемещение всех файлов из каждой подпапки одной папки в другую папку и их переименование
Добрый день! Прошу помощи, нужен батник или скрипт, который перемещал бы файлы из C:\folder\date_folder -> C:\all_files . Есть...

Копирование из текущего каталога всех файлов с расширением .txt, кроме одного указанного, в указанный каталог
Очень нужна помощь в написании бат файла или даже в исправлении. ниже задание и код,но нужно чтобы все работало параметрами (%1 , %2) . ...

Поиск на всех дисках файлов, содержащих определённое слово, и копирование найденых в определённую папку
Добрый день. Помогите пожалуйста создать бат файл дляпоиска файлов, который содержат определенное слово, например "Петя" на всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru