-2

Я хочу создать BAT-файл, который перемещает файл Excel в конкретный каталог и переименовывает Excel в качестве имени папки.

ОБНОВИТЬ:

Идея всего этого заключается в том, что я хочу скопировать файл, названный ниже «fisier general.xls», в несколько папок с разными именами, например, в папку "CITY MALL". Теперь я использую приведенный ниже код, только для копирования файла, но я понял, что файл должен быть назван точно так же, как каталог, в который был скопирован файл Excel.

copy C:\"Documents and Settings"\rnic\"My Documents"\Razvan\"Rapoarte Aringhe"\"IOAN - Exceptii planograme"\"Fisier general.xls" C:\"Documents and Settings"\rnic\"My Documents"\Razvan\"Rapoarte Aringhe"\"IOAN - Exceptii planograme"\"Mega Image"\"CITY MALL"

может быть, вы можете помочь мне с этим .. fisier general.xls должен быть переименован в CITY MALL.xls

2 ответа2

0

Этот .bat будет проходить через папки, начинающиеся с% def%, и, если есть файл с именем oldname.xlsx, он будет перемещать его в первую найденную подпапку.

@echo off

set fn=oldname
set ext=.xlsx
set def=c:\

for /R %def% %%i in (.) do ( 
 if exist "%%~di%%~pi%fn%%ext%" (
  for /D %%d in ("%%~di%%~pi*") do (
        move "%%~di%%~pi%fn%%ext%" "%%d\%%~nd%ext%"
  )
 )
)
0

Вам не нужно столько кавычек, сколько вы используете в своем текущем пакетном файле.
Также вы можете переименовать файл в команде копирования.

copy "C:\Documents and Settings\rnic\ Мои документы \ Razvan \ Rapoarte Aringhe \ IOAN - Планограмма Exceptii \ Fisier general.xls" "C:\Documents and Settings\rnic\ Мои документы \ Razvan \ Rapoarte Aringhe \ IOAN - Exceptii планограмма \ Mega Image \ CITY MALL \ CITY HALL.xls "

если бы вы хотели это в пакетном файле, где вы могли бы указать имя файла, я бы использовал make batch-файл, содержащий:

copy "C:\Documents and Settings\rnic\ Мои документы \ Razvan \ Rapoarte Aringhe \ IOAN - Планограмма Exceptii \ Fisier general.xls" "C:\Documents and Settings\rnic\ Мои документы \ Razvan \ Rapoarte Aringhe \ IOAN - Exceptii планограмма \ Mega Image \% ~ 1 \% ~ 1.xls "

и вызвать пакетный файл, используя MyBatchFile "The Folder Name"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .