Итак, немного предыстории: у меня есть один из тех старых mp3-плееров, который, если вы просто перетаскиваете целую папку, проигрывает песни в случайном порядке. Решение, которое я нашел, - переместить файлы один за другим. Но если у вас много папок, это может занять много времени.
Я пытаюсь создать сценарий с пакетной обработкой для Windows, который перемещает файл за файлом из одной папки в другую, передаваемую в качестве параметров (в идеале это ждет, пока предыдущий ход не будет завершен, поэтому никакие ходы не выполняются параллельно. Сейчас просто добавлен тайм-аут), но я не уверен, что я не использую правильный синтаксис или что я делаю неправильно (я сделал аналогичный в Shell, и он работал нормально, но просто любопытно).
Вот код прямо сейчас:
@echo off
echo mvp3...
IF %%1.==. GOTO No1
IF %%2.==. GOTO No2
set arg1=%1
set arg2=%2
echo before_for
for /r %%i in (%%1) do (
echo after_for
move %%i %%2
timeout 1
GOTO End1
:No1
ECHO No param 1
GOTO End1
:No2
ECHO No param 2
GOTO End1
:End1
)
Но если я попытаюсь запустить что-то вроде *: \ Users \ folder1 C: \ Users \ folder2, это вывод:
mvp3...
before_for
The syntax of the command is incorrect.
Я сделал немного утки, но не смог найти ответ, кто-нибудь может подсказать мне?
Спасибо.