2

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

  1. создать папку на pc1, c:\temp1
  2. подключить сетевой диск, содержащий исходную папку / файлы - \\server1\directory1folder01...10000 (каждый день система создает только одну или несколько папок, но с уникальной отметкой времени
  3. скопируйте последнюю папку, созданную на ПК1, например, c:\temp1

Вот что я написал в командном файле:

+++++++++++++++++++++++++++++++++

@echo off
mkdir c:\temp1

echo mapping drive...

net use Y:\\server\directory1 /user:myusername mypassword

echo copying files/folders into c:\temp1....

xcopy Y:\ c:\temp1 /s/e/d:"%DATE%"

+++++++++++++++++++++++++++++++++

Он создает c:\temp1 и отображает диск, но не может копировать.
Может кто-нибудь помочь мне здесь?

Kam

2 ответа2

2

% DATE% предоставит вам формат MM/DD/YYYY вместо требуемого MM-DD-YYYY

Попробуйте вместо этого использовать тире вместо слешей:

UK/Europe:  /D:%DATE:~3,2%-%DATE:~0,2%-%DATE:~6,4%
USA:        /D:%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%

В качестве примечания: если вы используете Windows 7, обратите внимание на использование команды «Robocopy» /MINAGE /MAXAGE, поскольку она, как правило, намного более надежна, чем xcopy, и предоставляет гораздо больше возможностей.

1

Вы рассматривали что-то вроде следующего? (потому что это то, что я сделал для моей же проблемы)

set folder=%DATE% 
mkdir "%folder%" 
cd "%folder%" 
powershell.exe "copy-item -Path \\server\directory1\*.* -Destination ."

Теперь имейте в виду, что это решение будет работать только на компьютерах с Windows 7, хотя оно может работать и на WinXP, если вы установите "powershell"

Что хорошо в этом методе, так это то, что он не требует использования каких-либо общих ресурсов. Единственным недостатком является необходимость установки Win7 на компьютере, на котором он запущен, или установки powershell.

Я просто знаю, для меня это работает как шарм, удачи вам!

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

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