![]() |
Перенос файлов и создание папок
помогите пожалуйста
есть такой батник for /f "UseBackQ delims=" %%a in ("sound .txt") do move /y "h:\FOTO\1\%%a" "h:\sections\sound \"; for /f "UseBackQ delims=" %%a in ("sound .txt") do move /y "h:\FOTO\2\%%a" "h:\sections\sound bad\" Перемещает файлы по списку sound .txt из папок h:\FOTO\1 в h:\sections\sound \ и из h:\FOTO\2\ в h:\sections\sound bad\ как сделать чтобы была текстовая переменная вместо "sound" - чтобы менять имя только в 1ом месте , а не в 4ех ? ( имя файла . txt и названия папок одинаковы всегда , только во втором переносе в названии папки должно добавляться слово "Bad". и как сделать чтобы автоматом создавались эти самые папки , куда будут переносится файлы h:\sections\sound \ и h:\sections\sound bad\ - в том случае если есть что перемещать в них . спасибо |
Код:
set fn=sound |
Elven, спасибо огромное
ps пробелы не нужные действительно есть |
еще одна просьба
есть общий каталог с папками foto1 foto1 bad foto2 foto2 bad ... внутри каждой папки лежат файлы с разными именами - имена во всех папках разные и не повторяются . : foto1.jpg foto2.jpg и тд есть список этих папок spisok.txt есть определенный список с названиями фоток ok.txt нужно перенести из каждой папки (согласно spisok.txt) файлы по списку ok .txt в папки foto1 ok , foto1 bad ok , foto2 ok, foto2 bad ok и тд |
и еще есть подкаталог с папками foto1 foto 2 и тд
есть список этих папок spisok1.txt foto1 foto2 как переименовать эти папки согласно списку spisok2.txt fotka1 fotka2 чтобы переименование папок было в соответствии с строками 2ух файлов те : папка foto1 - первая строка списка spisok1.txt переименуется в папку fotka1 - согласно первой строке списка spisok2.txt папка foto2 - вторая строка списка spisok1.txt переименуется в папку fotka2 - согласно второй строке списка spisok2.txt |
Цитата:
Код:
pushd "общий_каталог_с_папками" приблизительно так, правда тут много допущений, например что в spisok.txt содержатся только имена папок, и что папки_ok должны создаваться в "общем каталоге с папками" Цитата:
|
работает.
один нюанс можно ли чтобы при переносе файла в новую папку соответствующая строка из списка ok.txt удалялась? - тк список содержит 300 000 - очень долго все будет переносится |
Цитата:
|
а подробнее.
|
|
Есть батник
set fn=sound if not exist "h:\sections\%fn% \" md "h:\sections\%fn% \" if not exist "h:\sections\%fn% bad\" md "h:\sections\%fn% bad\" for /f "UseBackQ delims=" %%a in ("%fn% .txt") do ( move /y "h:\FOTO\1\%%a" "h:\sections\%fn% \" move /y "h:\FOTO\2\%%a" "h:\sections\%fn% bad\" ) нужно чтобы значения переменной брались из текстового файла |
Код:
for /f "delims=" %%i in (имя_файла.txt) do ( |
Время: 02:03. |
Время: 02:03.
© OSzone.net 2001-