После некоторого поиска в Интернете большинство публикаций, посвященных продуктам PowerShell, и среде, в которой будет использоваться robocopy, - это Windows Server 2016. Таким образом, оригинальный пакетный файл с двумя командными строками должен быть преобразован в его версию PowerShell.

  1. О чем следует помнить, чтобы преобразовать пакетную версию robocopy в версию PowerShell? Так как PowerShell довольно новый и с нуля. Есть ли какая-либо разница в версии PowerShell, например, ps ver1 ver2 ver3? Что-нибудь может быть выгодно, если вы используете PowerShell или усовершенствованный?

  2. Для чего нужен режим /b? Официальный сайт Microsoft, похоже, не дает подробностей ....

Пакетная команда как ниже:

//get the locale independent time

    FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET D=%%A

//unluckily could not find details of /b backup option to find out what is /b mode working for?

    robocopy X:\dat Y:\dat /v /xo /xa:sh /xj /unicode /mov /b /r:1 /w:1 /LOG+:C:\log\%D:~0,4%%D:~4,2%%D:~6,2%.log /xd "$RECYCLE.BIN" "System Volume Information"

1 ответ1

2

PowerShell не нова. Он существует уже более 10 лет и теперь является кроссплатформенным, Win / OSX / Linux.

Robocopy (robocopy.exe) - автономный исполняемый файл, независимо от того, с каким языком сценария / оболочки вы его используете. Вам не нужен скрипт .bat, .cmd, .ps1 для его использования. Вы можете использовать его напрямую.

У PS есть свои собственные команды копирования (Copy-Item) и удаления (Remove-Item), но в большинстве случаев лучше всего использовать robocopy.

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

Командную строку PS / consolehost (powershell.exe) можно использовать для замены командной строки DOS. Вы будете использовать его почти одинаково. Однако, если вы используете инструменты / редакторы для разработки сценариев, ISE (powershell_ise.exe), код Visual Studio, Notepad++ и т.д., Вам необходимо изменить образ мышления пакетного файла.

Смотрите эту дискуссию о PS и Robocopy с ответами

Как запустить robocopy в powershell?

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