Это еще одна проблема, которую я получил в том же коде, которую я уже просил о помощи, поэтому я не уверен, является ли она дубликатом или нет.
Проблема теперь в том, когда я запускаюскрипт, по команде xcopy я хотел иметь возможность скопировать всю папку, в которой находится файл, а не только файл.
@echo off
setlocal enabledelayedexpansion
set /p COU1=COU No. 1 serial number?:
echo COU serial number is: %COU1%
for /f %%i in ('dir /s /b /a-d AssayInfo.txt') do (
for /f "tokens=2" %%a in ('type "%%~fi" ^| findstr /i "CouID"') do set "number=%%a"
echo Found number !number! in file "%%~fi"
if !number!==!COU1! xcopy "%%~fi" "C:\dev\WORKING"
pause
)
, поэтому для упрощения я хочу скопировать всю папку, в которой находится файл "~ fi "был найден вместо только файла
Я также попробовал что-то вроде этого:
set /p COU1=COU No. 1 serial number?:
echo COU serial number is: %COU1%
for /D %%k in ("C:\dev\*") do for /f "tokens=1,* delims=: " %%i in ('type "%%k\AssayInfo.txt" ^| findstr /i CouID') do set "number=%%j"
if %number%==%COU1% (echo Hello it worked) else (echo ERROR:No files with that serial number)
pause
но проблема здесь в том, что IF-утверждение находится вне FOR, поэтому оно будетизменение номера!даже если оно совпадает и примет последнее найденное значение, отличное от COU1.