Попытка скопировать файл из одного каталога в другой, используя часть имени/серийного номера.Linux

Ответить Пред. темаСлед. тема
Anonymous
 Попытка скопировать файл из одного каталога в другой, используя часть имени/серийного номера.

Сообщение Anonymous »

Итак, я пытаюсь создать сценарий, который будет делать несколько вещей, но сначала мне нужно что-то скопировать.
Мне нужно скопировать все файлы из каталога A в B, используя пользователя ввод, который будет указывать файлы для копирования на основе серийного номера или его части.
Т.е. После того, как пользователь вводит sn "###" и выбирает папку X или Y, я хочу, чтобы все файлы в папке с Test_1_051724###.txt были скопированы в каталог B.
Вот что у меня есть на данный момент. В конце концов мне нужно получить файлы с компьютера с Linux, подключенного через Ethernet, но я смогу изменить адреса позже, как только выясню, что я делаю не так с битом копирования.
Я мне удалось создать каталог и скопировать файлы, когда я ввожу «тест», но каждый раз, когда я использую номер, я не копирую. Я попробовал несколько вещей, но так и не смог понять, что я делаю неправильно или чего не хватает.
Некоторые рекомендации были бы полезны.
Спасибо вы.
Я попробовал другой подход и получил сообщение об ошибке:
@echo off
:start

rem Prompt the user for the search string
set /p search_string=Enter the search string:

rem Prompt the user to choose the source directory
echo Choose the source directory:
echo 1. EE1
echo 2. EE2
set /p source_dir_choice=Enter 1 or 2:

rem Set the source directory based on the user's choice
if %source_dir_choice% == 1 (
set source_dir="C:\Users\cliljohn\Documents\DCD\EE1\."
set dest_dir="C:\Users\cliljohn\Documents\DCD\EE1\TestMove1"
) else if %source_dir_choice% == 2 (
set source_dir="C:\Users\cliljohn\Documents\DCD\EE1\."
set dest_dir="C:\Users\cliljohn\Documents\DCD\EE1\TestMove2"
) else (
echo Invalid choice. Exiting.
goto end
)

@REM rem destination directory
@REM if %source_dir_choice% == 1 (
@REM set dest_dir=C:\Users\cliljohn\Documents\DCD\EE1\TestMove1
@REM ) else if %source_dir_choice% == 2 (
@REM set dest_dir=C:\Users\cliljohn\Documents\DCD\EE1\TestMove2
@REM ) else (
@REM echo Invalid choice. Exiting...
@REM goto start
@REM )

rem Create the destination directory if it doesn't exist
if not exist "%dest_dir%" mkdir "%dest_dir%"

rem Copy the files that contain the search string
for %%f in ("%source_dir%\*") do (
if "%%~nxf" gtr "" if "%%~nxf" lss "" if "%%~nxf" contains "%search_string%" (
copy "%%f" "%dest_dir%"
echo Copied file: %%~nxf
)
)

echo.
echo File copy complete.
echo.

goto start

:end

У меня это получилось, но кажется, что он хочет скопировать файл только тогда, когда слово находится в начале.
@echo off
:start

rem Prompt the user for the partial file name
set /p partial_filename=Enter the partial file name:

rem Prompt the user to choose the source directory
echo Choose the source directory:
echo 1. C:\Users\cliljohn\Documents\DCD\EE1
echo 2. C:\Users\cliljohn\Documents\DCD\EE2
set /p source_dir_choice=Enter 1 or 2:

rem Set the source directory based on the user's choice
if %source_dir_choice% == 1 (
set source_dir=C:\Users\cliljohn\Documents\DCD\EE1
) else if %source_dir_choice% == 2 (
set source_dir=C:\Users\cliljohn\Documents\DCD\EE2
) else (
echo Invalid choice. Exiting.
goto end
)

rem Set the destination directory
set dest_dir=C:\Users\cliljohn\Documents\DCD\EE1\TestMove

rem Create the destination directory if it doesn't exist
if not exist "%dest_dir%" mkdir "%dest_dir%"

rem Copy the files that match the partial file name
for %%f in ("%source_dir%\%partial_filename%*") do (
copy "%%f" "%dest_dir%"
echo Copied file: %%~nxf
)

echo File copy complete.

@REM goto start
:end



Подробнее здесь: https://stackoverflow.com/questions/784 ... ial-number
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»