создать файл, если не выходит - PullRequest
0 голосов
/ 12 июля 2011

Привет мой сценарий создания резервной копии всех файлов в текущем каталоге выглядит следующим образом:

    @echo off
set year= %date:~10,4%
set month = %date:~4,2%
set day = %date:~7,2%
set folder= %date:~4,2%-%date:~7,2%-%date:~10,4%

if not exists "%CD%"\%folder%  
(
xcopy "%CD%" "%CD%"\%folder%\ /l /v /s /t /i /y
)

Но это всегда дает мне "C: \ Documents and Settings \ имя пользователя \ Desktop" \ в это время было неожиданным.

Может кто-нибудь направить меня в правильном направлении, пожалуйста

Ответы [ 2 ]

1 голос
/ 21 июля 2011

if exist проверить, что ФАЙЛ существует.Если вы хотите проверить папку, нужно использовать небольшую хитрость, используя имя файла NUL, которое всегда существует в любой папке и с любым расширением:

if not exist "%CD%\%folder%\NUL" ...

Надеюсь, это поможет

Антонио

PS - Могу ли я предложить вам другой способ создания имени папки?

for /F "tokens=1-3 delims=/" %%a in ("%date%") do set folder=%%a-%%b-%%c
1 голос
/ 12 июля 2011

Вы должны заключать весь путь в двойные кавычки, а не только его часть.Поэтому вместо

"%CD%"\%folder%

это, скорее всего, должно быть

"%CD%\%folder%"

Но в любом случае, я не думаю, что вы сможете скопировать содержимое папки в одну изсвои собственные подпапки.

Еще одна вещь, это должно быть IF NOT <b><i>EXIST</i></b> ….

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...