|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] forfiles с переменной @path для папок с пробелом в названии. |
|
CMD/BAT - [решено] forfiles с переменной @path для папок с пробелом в названии.
|
Пользователь Сообщения: 59 |
Здравствуйте.
Есть простой код переноса файлов PDF старше 30 дней в подпапку OLD текущей папки. @echo off chcp 1251 >nul MD "%~dp0old" forfiles /P "%~dp0" /D -30 /M *.pdf /C "cmd /c move @path %~dp0old\" В указанном виде возвращает ошибку Неправильный параметр или аргумент - '@path'. А если исключить из кода /P "%~dp0" , возвращает ошибку в синтаксисе команды для каждого файла. Как исправить? |
|
Отправлено: 00:59, 02-09-2021 |
Забанен Сообщения: 346
|
Поменяй сразу путь, чтоб forfiles без указания папки заработал и сё ↓
chcp 1251 >nul rem поменяй путь чтоб forfiles без указания папки заработал и сё cd /d "%~dp0" set "OLD=%~dp0old" if not exist "%OLD%" md "%OLD%" rem и тогда проще для понимания и записи будет команда, безо всяких долгих путей, просто old и всё. forfiles /m *.pdf /d -30 /c "cmd /c move @path old && echo @path" pause exit |
Отправлено: 13:43, 02-09-2021 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 59
|
Профиль | Отправить PM | Цитировать wasp14, и тебе спасибо, вариант, супер.
Всем спасибо за помощь и знания! |
Отправлено: 14:00, 02-09-2021 | #12 |
Ветеран Сообщения: 4554
|
Профиль | Отправить PM | Цитировать wasp14, в Вашем случае код сработает только если old является поддиректорией, верно?
|
Отправлено: 14:34, 02-09-2021 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата wasp14:
|
|
Отправлено: 22:07, 02-09-2021 | #14 |
Забанен Сообщения: 346
|
NickM, из справки forfiles:
Параметры: /P <путь> Путь, с которого начинается поиск. По умолчанию используется текущая рабочая папка (.) Цитата Iska:
![]() Цитата Iska:
|
||
Отправлено: 13:42, 04-09-2021 | #15 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата wasp14:
если в команде удаление, а путь покорежился - кодировка, спецсимволы ...? - мало ли, то снос всего что рядом молча без вопросов частое явление, но неприятное. |
|
Отправлено: 13:57, 04-09-2021 | #16 |
Забанен Сообщения: 346
|
alpap, и-мен-но, по этому и нужно менять рабочую дир-у на путь к батнику. А сам батнег, лежит в созданном для него temp-e , где и упражняемся на временных файлах. temp всегда "предельно упорот", с кириллицей и пробелами, для\шобы не попасть.
Отлаженный таким способом варик скрипта, копируем в папку откуда будем жЭчь... и обычно всё хорошо.(у меня Тотал, потому менять дир-ы и копировать 'из-в' оч.просто) Вам достаточно известно, насколько глюкав и "просто_глупый", этот язык. Здесь много неочевидных условностей. И если можно часть неопределённостей сбросить на саму "тулзу"(forfiles или dir), то это нужно делать КМК . cd \d мой лучший друг ![]() |
Отправлено: 14:35, 04-09-2021 | #17 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата wasp14:
Цитата wasp14:
Цитата:
Цитата:
Цитата wasp14:
Цитата wasp14:
чтобы не было мучительно больно. |
||||||
Отправлено: 16:00, 04-09-2021 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата wasp14:
Скрытый текст
![]() Ctrl-F, Tab: ![]() Enter. |
|
Отправлено: 16:17, 04-09-2021 | #19 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Параметры с пробелом | njg | Скриптовые языки администрирования Windows | 3 | 28-04-2020 18:11 | |
CMD/BAT - [решено] Копирование папок с текущей датой +1 день в названии (кроме выходных) | Сантей | Скриптовые языки администрирования Windows | 8 | 03-03-2015 23:26 | |
Загрузка - После изменения переменной Path при загрузке "unmountable boot volume" | А.С. Шаман | Накопители (SSD, HDD, USB Flash) | 13 | 15-10-2014 16:55 | |
CMD/BAT - Каким образом задать значение переменной число равное кол-ву папок на диске | uptk | Скриптовые языки администрирования Windows | 4 | 08-07-2009 19:02 | |
Разное - [решено] Есть чтонибудь типа переменной среды %PATH% для dll | alzasr | Microsoft Windows 2000/XP | 3 | 29-05-2009 10:36 |
|