Есть ли способ скопировать файлы с пакетным файлом в папку, в которой находится пакетный файл?

Поэтому я пытаюсь создать пакетный файл для синхронизации внешнего жесткого диска. Мой жесткий диск не всегда подключен к одной и той же букве, поэтому я не могу просто создать пакетный файл с xcopy F:\Folder1 G:\backupharddrive, потому что G:\backupharddrive будет переменной.

Есть ли способ просто скопировать в папку, в которой находится пакетный файл?


person Djaantjie    schedule 06.01.2016    source источник
comment
Вы пробовали xcopy F:\Folder1 .?   -  person jeb    schedule 06.01.2016
comment
Это работает, большое спасибо!   -  person Djaantjie    schedule 06.01.2016
comment
Еще одна полезная вещь, которую нужно знать о пакетном режиме, это то, что вы можете получить текущий каталог и путь к пакетному файлу, используя переменную %0 и ее модификаторы. %~dp0 даст путь к пакетному файлу.   -  person Squashman    schedule 06.01.2016


Ответы (1)


Просто используйте относительную адресацию, где . представляет текущий каталог.

xcopy F:\Folder1 .

Для дальнейшего использования вы также можете получить доступ к родительскому элементу текущей папки (IOW, на 1 уровень выше в дереве каталогов), используя ... Это делает удобным переход на уровень выше или даже выше. Например, чтобы скопировать файлы из C:\Temp\One в C:\Temp\Two, вы можете использовать

xcopy *.* ..\Two\

что означает скопировать файлы из этой папки на один уровень выше, а затем в папку Two.

Если вы используете dir из командной строки, вы увидите, что на любом уровне ниже корня диска у вас будут элементы для . и .. в списке. (В корне есть только ., потому что у него нет родительской папки.

person Ken White    schedule 07.01.2016