Bagaimana konversi / memperingatkan hal-hal dari versi batch robocopy ke versi PowerShell dari robocopy?

0

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.

  1. 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?

  2. 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"
cuda
sumber
/b menyalin file dalam mode cadangan. Anda dapat menemukan informasi tentang robocopy aktif dengan menjalankan robocopy /?. Apa yang Anda maksud dengan "PowerShell adalah [...] dari awal"?
Worthwelle
mengkonversi versi kumpulan robocopy ke versi PowerShell Maksud Anda, "konversi file batch yang menjalankan RoboCopy menjadi skrip PowerShell yang melakukan tugas yang sama seperti file batch?", Atau yang lainnya?
Twisty Impersonator
@TwistyImpersonator Ya, bagaimana pernyataan robocopy akan dapat dijalankan di Powerhell dibandingkan dengan versi yang disalin di atas dari robocopy kelelawar?
cuda

Jawaban:

2

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?

postanote
sumber
Bolehkah saya bertanya seperti apa dalam versi PowerShell? ini adalah versi kelelawar: 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" "Informasi Volume Sistem"
cuda