Пакетное, если существует xcopy и создайте новую папку для файла - PullRequest
0 голосов
/ 14 мая 2019

Я совершенно новичок здесь и в мире программирования, поэтому, пожалуйста, прости любой глупый вопрос. Моя цель - найти файлы в указанном каталоге, скопировать их и переместить в другой каталог, но создать новую папку для файлов, которые я хочу переместить.

Для дополнительной информации я перемещаю большое количество файлов WAV с одного сервера на другой.

Код, который я нашел для этого:

If exist \\%DIR%\%Folder%\123456789.wav xcopy \\%DIR%\%Folder%\123456789.wav D:\%New Folder%\ /y

Таким образом, он найдет нужные мне файлы, скопирует их, а затем вставит в новый каталог с моей% новой папкой% (папка не будет существовать, и я хочу, чтобы эта команда создала ее перед вставкой файла wav.

Ответы [ 2 ]

1 голос
/ 14 мая 2019

xcopy создаст структуру каталогов для вас, если она еще не существует, если у вас есть завершающая обратная косая черта.

@echo off
set "NewFolder=D:\Some Destination\folder\"
set "DIR=someserver\Some Source folder"
set "Folder=Another Folder"
If exist "\\%DIR%\%Folder%\123456789.wav" (
      xcopy "\\%DIR%\%Folder%\123456789.wav" "%NewFolder%" /y
)
0 голосов
/ 14 мая 2019

Нет, не будет. Вы не определили свои переменные dir, folder и new folder. Ваш вопрос не дает достаточно информации, чтобы дать разумный ответ. Посмотрите, как задать хороший вопрос .
Я собираюсь ответить на вопрос, как будто вы используете Windows, и вы хотите командный файл.

Исправьте ваш вопрос после прочтения:

Копирование файлов в сети:

Как написать пакетный файл Windows

Как использовать FOR

Как использовать ROBOCOPY

пакетный файл:

@echo off
setlocal enableextensions
set dir=??????????
set folder=????????????
set "new folder=??????????"
for /f "tokens=*" %%F in ('dir /s /b "%dir%\%folder%\*.wav"') do %systemroot%\system32\xcopy.exe /sy "%%F" "d:\%new folder%\"
exit /b 

Поместите пакетный файл в корневую папку тома, где находятся файлы .wav, и запустите его.

Если это так просто, как ярлык Windows: %systemroot%\system32\xcopy.exe /sy *.wav "d:\new folder\" Скопируйте все файлы .wav в папку и подпапки, создайте новую папку без запроса, не запрашивайте перед перезаписью.

Но поскольку вы копируете файлы в сети, это намного сложнее, а поскольку вы предоставили так мало информации, это просто выстрел в темноте.

Подробнее:

xcopy /?

set /? (определить переменные)

для /?

dir /? (найдите файлы)

cmd /?

...