Получение файлов в папке A из папки B

284
Forgets

Как выбрать имена файлов в папке A из папки B?

Например

Папка А содержит файлы 1,2,6,7.

Папка B содержит файлы 1,2,3,4,5,6,7,8,9,10

Поэтому мне нужно только выбрать файлы, которые находятся в папке A 1,2,6,7из папки B.

У меня около 1K + файлов в папке B, но мне нужны только те, которые перечислены в папке A, что меньше 1k. Но я не хочу выбирать файлы из папки B по одному в соответствии с файлами в папке A.

0
Можете ли вы уточнить, что вы подразумеваете под выбором? Название вопроса гласит: «Принимая». Хотите скопировать файлы? Переехать? Jelphy 6 лет назад 0
@ Джелфи Если возможно, я бы хотел переместить нужные мне файлы из папки B в папку C. Я не знаю, как работает копирование? Будут ли «скопированные» файлы сохранены в памяти, как я могу просто cntrl + v в папку по своему выбору? Forgets 6 лет назад 0
это один из способов сделать это. Я бы, вероятно, использовал `Windows PowerShell` для этой задачи, если у кого-то нет лучшего решения. Jelphy 6 лет назад 0
Как бы я использовал PowerShell для достижения этой цели? Я не знаком с какими-либо командами и что бы не выполнять. Forgets 6 лет назад 0
Вы можете попробовать задать этот вопрос на форуме SO `PowerShell`, https://stackoverflow.com/questions/tagged/powershell - если вы приложите некоторые усилия, кто-то может помочь :) Jelphy 6 лет назад 0
Ах, хорошо, спасибо, и я на самом деле тратил последние несколько часов, чтобы найти файлы 1 на 1 из пула 9k файлов, и я как раз в тот момент, когда я думаю, что должен быть лучший способ сделать это. Forgets 6 лет назад 0

2 ответа на вопрос

2
Forgets

Я понял.

я использовал dir D:\Game\Cap /s /b > D:\Game\Cap\list.txt

составить список нужных мне файлов. Затем я перемещаю этот list.txt в папку B

и запустил этот скрипт, который я нашел в Интернете:

@echo off REM BATCH file Created by NEUTRON16 (sevenforums.com) CLS REM CHECK FOR ADMIN RIGHTS COPY /b/y NUL %WINDIR%\06CF2EB6-94E6-4a60-91D8-AB945AE8CF38 >NUL 2>&1 IF ERRORLEVEL 1 GOTO:NONADMIN DEL %WINDIR%\06CF2EB6-94E6-4a60-91D8-AB945AE8CF38 >NUL 2>&1 :ADMIN REM GOT ADMIN RIGHTS COLOR 1F ECHO Hi, %USERNAME%! ECHO Please wait... for /f "usebackq delims=" %%a in ("%~dp0list.txt") do echo d |xcopy "%%a" "D:\Game\Bin" /e /i COLOR 2F ECHO. ECHO BATCH file Created by Neutron16 (sevenforums.com) PAUSE GOTO:EOF :NONADMIN REM NO ADMIN RIGHTS COLOR 4F ECHO. ECHO PLEASE RUN AS ADMINISTRATOR ECHO. pause GOTO:EOF 

И это сработало!

0
Puneet Bapna

Для этого: 1. Вам понадобятся полные пути к папке A: вам нужно перейти в папку A, нажать на адресную строку и скопировать полный путь

Это будет что-то вроде C: \ foldername \ foldername2 \ foldername3

  1. Скопируйте полный путь к папке назначения, используя описанный выше метод. Теперь вам нужно открыть командную строку : и введите

Переместить pathtofolderA \ *. * pathtodestinationfolder

Пример: переместить C: \ user \ documents \ *. * C: \ user \ downloads \

Я думаю, что путь чувствителен к регистру кто-то может исправить меня ..

Редактировать : Пакетный файл

 for %f in (c:\pathtofolderA\*) do copy c:\pathtofolderB\%f c:\destinationpath 
это перемещает файлы из папки A, вопрос спрашивает, как переместить файлы из папки B, которые также существуют в папке A. Máté Juhász 6 лет назад 0
@ MátéJuhász Смотрите редактировать. Надеюсь, поможет. Puneet Bapna 6 лет назад 0

Похожие вопросы