1) Этот код будет пытаться найти ваши файлы в C:\Program Files (x86)\Arduino\libraries
, и, если найден, будет искать для следующего файла
@echo off && setlocal EnableDelayedExpansion
title <nul && title .\%~nx0
cd/d "%systemdrive%" && cd\
set "_output_dir=G:\SUPER_USER\Q60142344"
set "_input_file=G:\SUPER_USER\Q60142344\Q60142344.txt"
for %%s in (findstr,find,where
)do set "_%%~s=%%~s" && call set "_%%~s=%__APPDIR__%!_%%~s!.exe"
cd /d "C:\Program Files (x86)\Arduino\libraries"
for /f "tokens=2 delims=<>" %%i in ('type "!_input_file!"^|!_findstr! "< >"
')do for /f "tokens=* delims= " %%# in ('2^>nul !_where! /r . "%%~i"^|!_find! /i "%%~i"
')do if not "%%~#"=="!_output_dir!\%%i" >nul copy /y /v "%%~#" "!_output_dir!" && echo/File "%%~#" Copied to "!_output_dir!"))
endlocal && goto :EOF
File "C:\Program Files (x86)\Arduino\libraries\SD.h" Copied to "G:\SO_en\Q60142344"))
File "C:\Program Files (x86)\Arduino\libraries\SPI.h" Copied to "G:\SO_en\Q60142344"))
File "C:\Program Files (x86)\Arduino\libraries\HCSR04.h" Copied to "G:\SO_en\Q60142344"))
- Просто отредактируйте, добавив соответствующее значение в вышеуказанную переменную для соответствия необходимым действиям
set "_output_dir=G:\SO_en\Q60142344" && set "_input_file=G:\SO_en\Q60142344\Q60142344.txt"
set "_output_dir=A:\the\path\to\folder\target" && set "_input_file=B:\the\path\to\file\input_file.h"
2) Этот код попытается найти ваши файлы в C:
, и, если найден, будет искать следующий файл
Кроме того, он не будет искать в папке назначения, если он существует в папке назначения, он также будет игнорироваться.
- Просто отредактируйте, добавив соответствующее значение в вышеуказанной переменной к сопоставьте необходимые действия
set "_output_dir=G:\SO_en\Q60142344" && set "_input_file=G:\SO_en\Q60142344\Q60142344.txt"
set "_output_dir=A:\the\path\to\folder\target" && set "_input_file=B:\the\path\to\file\input_file.h"
@echo off && setlocal EnableDelayedExpansion
title <nul && title .\%~nx0
cd/d "%systemdrive%" && cd\
set "_output_dir=G:\SO_en\Q60142344"
set "_input_file=G:\SO_en\Q60142344\Q60142344.txt"
for %%s in (findstr,find,where
)do set "_%%~s=%%~s" && call set "_%%~s=%__APPDIR__%!_%%~s!.exe"
for /f "tokens=2 delims=<>" %%i in ('type "!_input_file!"^|!_findstr! "< >"
')do if not exist "!_output_dir!\%%~i" (for /f "tokens=* delims= " %%# in ('
2^>nul !_where! /r %systemdrive%\ "%%~i"^|!_find! /i "%%~i"')do if not "%%~#"=="!_output_dir!\%%i" (
>nul copy /v "%%~#" "!_output_dir!" && cd/d "%~dp0" && echo/File "%%~#" Copied to "!_output_dir!" ))
endlocal && goto :EOF
File "C:\Users\ecker\AppData\Local\Temp\SD.h" Copied to "G:\SO_en\Q60142344"
File "C:\Users\ecker\Downloads\SPI.h" Copied to "G:\SO_en\Q60142344"
File "C:\Users\ecker\Downloads\HCSR04.h" Copied to "G:\SO_en\Q60142344"
3) Этот код будет пытаться найти ваши файлы на всех ваших дисках компьютера и, если он найден на диске, будет искать следующий файл, не проверяя оставшиеся диски на тот же файл, который уже найден.
Кроме того, он не позволит найти в папке назначения, если он существует в папке назначения, он также будет игнорироваться.
- Просто отредактируйте, добавив соответствующее значение в приведенном выше переменная для соответствия необходимым действиям
set "_output_dir=A:\the\path\to\folder\target"
set "_input_file=B:\the\path\to\file\input_file.h"
@echo off && setlocal EnableDelayedExpansion
title <nul && title .\%~nx0
set "_output_dir=G:\SO_en\Q60142344"
set "_input_file=G:\SO_en\Q60142344\Q60142344.h"
set "_wmic=%__APPDIR__%wbem\wmic.exe logicaldisk get caption"
for %%s in (findstr,find,where)do set "_%%~s=%%~s" && call set "_%%~s=%__APPDIR__%!_%%~s!.exe"
for /f "tokens=2 delims=<>" %%i in ('type "!_input_file!"^|!_findstr! "< >"
')do for /f "tokens=1" %%D in ('!_wmic! ^|!_find! ":"')do cd /d "%%~D\" && cd\ & if not exist "!_output_dir!\%%~i" (
echo/Looking for file %%i in %%~D\... & for /f "tokens=*delims= " %%# in ('2^>nul !_where! /r \ "%%~i"^|!_find! /i "%%i"
')do if not "%%~#"=="!_output_dir!\%%i" >nul copy /y "%%~#" "!_output_dir!" && cd/d "%~dp0" && echo/File "%%~#" Copied to "!_output_dir!")
endlocal && goto :EOF
Looking for file SD.h in C:\...
File "C:\Users\ecker\AppData\Local\Temp\SD.h" Copied to "G:\SO_en\Q60142344"
Looking for file SPI.h in C:\...
File "C:\Users\ecker\Downloads\SPI.h" Copied to "G:\SO_en\Q60142344"
Looking for file TMRpcm.h in C:\...
Looking for file TMRpcm.h in G:\...
File "G:\TMRpcm.h" Copied to "G:\SO_en\Q60142344"
Looking for file HCSR04.h in C:\...
File "C:\Users\ecker\Downloads\HCSR04.h" Copied to "G:\SO_en\Q60142344"
Obs.: Чтобы скопировать в одну из папок ниже, следует понимать, что необходимо запустить пакет как администратор ::
%ProgramFiles% == C:\Program Files (x86)
%ProgramFiles(x86)% == C:\Program Files (x86)
%ProgramW6432% == C:\Program Files