PDA

Показать полную графическую версию : [решено] Как заставить скрипт переместится на каталог ниже?


r11x
13-10-2018, 01:02
Пишу для себя небольшой скрипт, нужно копировать файл в каталог на уровень ниже, а за тем выше, не по прямому пути.
К примеру: можно копировать в каталог выше:
copy papka1\settings.xml papka2\papka3Но никак не могу найти как опустится ниже, возможно, потому что неправильно задаю вопрос.
пе.ес. чайник.

Iska
13-10-2018, 01:30
r11x, выполните «tree» в каталоге со скриптом, вывод скопируйте сюда и укажите в выводе на конечный каталог. Ибо пока то, что Вы описали:
копировать файл в каталог на уровень ниже, а за тем выше »
— есть тот же самый каталог.

возможно, потому что неправильно задаю вопрос. »
Да.

Можете просто привести конкретный пример.

Busla
13-10-2018, 11:47
возможно, потому что неправильно задаю вопрос »
у меня складывается впечатление, что вы путаете выше и ниже:
К примеру: можно копировать в каталог выше:
Код:
copy papka1\settings.xml papka2\papka3 »
наоборот, скопирует в нижележащий подкаталог

синоним родительского (вышестоящего) каталога - две точки:
copy papka1\settings.xml ..\
можно писать так:
copy papka1\settings.xml ..\..\
самый верхний (корневой) каталог - просто обратный слэш:
copy papka1\settings.xml \

Задавая подобные вопросы по форумам вы свой небольшой скрипт будете месяц писать - лучше почитайте какую-нибудь книгу. Получите более полную картину в последовательном изложении.

alpap
13-10-2018, 12:30
r11x,
можно еще так
например структура папок:


Структура папок
C:\PAPKA1
│ file.txt
│ name.bat

└───papka2
│ file.txt
│ name.bat

└───papka3
│ file.txt
│ name.bat

└───papka4



Запустив такой код можно увидеть как получить и попасть на один уровень выше или ниже месторасположения bat:

@echo off
setlocal enabledelayedexpansion
set "uv=%~dp0.."
for /f "tokens=* delims=\" %%a in ('dir /ad/b/s "."') do set "sp=%%a"
for /f "delims=\" %%a in ("!sp:%~dp0=!") do set "un=%~dp0%%a"

echo -----------------------------------------------------
echo Содержимое папки уровнем выше "%~f0":
echo [dir /b "%uv%"]
dir /b "%uv%"
echo -----------------------------------------------------
echo Содержимое папки уровнем ниже "%~f0":
echo [dir /b "%un%"]
dir /b "%un%"
echo -----------------------------------------------------

pause




© OSzone.net 2001-2012