#batch-file
#пакетный файл
Вопрос:
Я хочу использовать пакет для перемещения файла (изображения) из одной папки в другую. Я делал это в прошлом успешно, но я не знаю, почему это не работает. Я не программист, но у меня был друг, который помог мне с этим. В прошлый раз это работало, теперь нет. Я делаю что-то не так? Нужно что-то изменить в коде? Студентка, которую я использую, это:
@echo off setlocal EnableDelayedExpansion cd C:UsersUserDropboxArtwork1 set n=0 for %%f in (*.*) do ( set /A n =1 set "file[!n!]=%%f" ) set /A "rand=(n*%random%)/32768 1" move "!file[%rand%]!" C:UsersUserDropboxArtwork2
Я, очевидно, изменю путь к файлам на нужные, но что-нибудь не так с кодом? Несколько месяцев назад это работало.
Заранее спасибо.
Комментарии:
1. Ну, а что не работает? Как это не работает? Не могли бы вы уточнить? трудно догадаться, в чем дело.
2. хорошо. Я дважды щелкаю по нему, чтобы запустить, и изображение не перемещается из одной папки в другую. На долю секунды появляется черный экран программы, что означает, что она запускается, но движение не выполняется
3. На каком диске находится скрипт? является ли путь
C:UsersuserDropboxArtwork
общим? в самом конце сценария добавьтеpause
, запустите его еще раз и скажите мне, что вы видите.4. С. Как и кормильцы. Я могу вставить сюда точный код, который я использую с путями к папкам. Проверю, что вы отредактировали, и дам вам знать
5. Нет, просто добавьте
pause
в конец сценария, запустите его снова и скажите мне, что в нем написано
Ответ №1:
Чтобы сделать скрипт пригодным для использования в более широком масштабе, не нужно cd
ни:
@echo off setlocal EnableDelayedExpansion set "in=%userprofile%DropboxArtwork1" set "out=%userprofile%DropboxArtwork2" echo Default Input path: %in% Default Output path: %out set /p "in=Enter Path to copy from (or Press Enter keep Default in path): " set /p "out=Enter Destination (or Press Enter keep Default out path) set n=0 for %%f in ("%in%*.*") do ( set /A n =1 set "file[!n!]=%%~ff" ) set /A "rand=(n*%random%)/32768 1" move "!file[%rand%]!" "%out%"