Setelah beberapa googling, mayoritas posting online berbicara tentang barang-barang PowerShell, dan lingkungan yang akan menggunakan robocopy adalah Windows Server 2016. Dengan demikian, file batch asli dengan dua baris perintah harus dikonversi ke versi PowerShell-nya.
Apa saja hal-hal yang harus diperhatikan agar dapat mengkonversi versi batch robocopy ke versi PowerShell? Karena PowerShell cukup baru dan dari awal. Apakah ada perbedaan versi PowerShell seperti ps ver1 ver2 ver3? Adakah yang bisa diuntungkan jika menggunakan PowerShell atau ditingkatkan?
Untuk apa mode / b? Situs resmi Microsoft sepertinya tidak memberikan detail dengan baik ....
Perintah batch seperti di bawah ini:
//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"
/b
menyalin file dalam mode cadangan. Anda dapat menemukan informasi tentangrobocopy
aktif dengan menjalankanrobocopy /?
. Apa yang Anda maksud dengan "PowerShell adalah [...] dari awal"?Jawaban:
PowerShell bukan hal baru. Sudah ada selama lebih dari 10 tahun dan sekarang lintas platform, Win / OSX / Linux.
Robocopy (robocopy.exe) adalah executable yang berdiri sendiri, terlepas dari bahasa script / shell yang Anda gunakan. Anda tidak memerlukan skrip .bat, .cmd, .ps1 untuk menggunakannya. Anda bisa menggunakannya secara langsung.
PS memiliki salinannya sendiri (Salin-Item), dan hapus (Hapus-Item) cmdlet, tetapi robocopy adalah hal yang paling sering dilakukan.
Anda dapat terus menggunakan robocopy seperti yang Anda lakukan hari ini, bahkan di PS, meskipun menangani sakelar dan argumen sedikit berbeda, tergantung pada apa yang Anda lakukan dalam skrip.
Prompt perintah PS / consolehost (powershell.exe) dapat digunakan untuk mengganti prompt perintah DOS. Anda akan menggunakannya hampir identik. Namun, jika Anda menggunakan alat / editor pengembangan skrip, ISE (powershell_ise.exe), Visual Studio Code, Notepad ++, dll. Anda perlu mengubah pola pikir file batch Anda.
Lihat diskusi ini tentang PS dan Robocopy dengan jawaban
Bagaimana cara menjalankan robocopy di PowerShell?
sumber