Saya baru mengenal skrip dan saya ingin 1 skrip untuk cadangan mingguan dan harian. Saya ingin menggunakan parameter dalam penjadwal tugas untuk menjalankan pencadangan yang benar dan mengatur lokasi pencadangan yang benar. Pencadangan harian memiliki lokasi folder yang berbeda, itu sebabnya saya bekerja dengan parameter. Bagaimana saya bisa mendefinisikan ini seperti:

Jika parameternya adalah $true

Setel tujuan: \server\weekly

Lain

Setel tujuan: \server\daily

cmd
0
WantedBaby 23 Oktober 2017, 15:24
Saya ingin belajar PowerShell tetapi skrip ini sudah diproduksi dan saya perlu mengeditnya.
 – 
WantedBaby
23 Oktober 2017, 15:47

2 jawaban

Anda perlu menggunakan %1 sebagai parameter input, misalnya:

@ECHO OFF
:Loop
IF "%1"=="" GOTO Continue
   •
   • Here your batch file handles %1
   •
SHIFT
GOTO Loop
:Continue

Atau dalam Kasus Anda:

@ECHO OFF
IF "%1"=="Daily" GOTO Daily
IF "%1"=="Weekly" GOTO Weekly


:Daily
echo Daily Worker
GOTO EOF


:Weekly
echo Weekly Worker


:EOF
echo Done!
1
Ori a 23 Oktober 2017, 16:30
Hai, Terima kasih atas jawabannya. jadi saya bisa menggunakan: @ECHO OFF :Loop IF "%1"=="" GOTO Continue set destination \\server1\share\weekly set logfile \\server1\share\weekly SHIFT GOTO Loop :Continue set destination \\server2\ share\daily\ set logfile \\server2\share\daily seperti ini?
 – 
WantedBaby
23 Oktober 2017, 15:46
Maaf jika saya bertanya tetapi, bagaimana saya bisa menggunakan parameter untuk mingguan atau harian sekarang? Apakah saya perlu membuat tugas dengan parameter seperti %daily dan %weekly?
 – 
WantedBaby
23 Oktober 2017, 16:37
Anda menyebutnya seperti mybatch.cmd Daily atau mybatch.cmd Weekly
 – 
Hans Kesting
23 Oktober 2017, 16:41
Jadi jika saya menggunakan skrip di atas seperti: scripting.cmd :Daily Set location \\server1\share :weekly Set location \\server2\share Dan saya memberi nama dan lokasi tugas ke scripting.cmd daily apakah itu akan berhasil?
 – 
WantedBaby
23 Oktober 2017, 16:44
Anda perlu menggunakan SET location=\\server1\share (ingat =). Jangan lupa GOTO EOF untuk melewati tugas "mingguan". Dan sisa pemrosesan setelah label :EOF
 – 
Hans Kesting
23 Oktober 2017, 16:50

Kode yang diposting dalam pertanyaan bukan skrip cmd.exe juga bukan PowerShell. Saya berasumsi bahwa Anda sedang memodifikasi skrip shell cmd.exe.

IF "%1" EQU "TRUE" DO (
    SET "DESTINATION=\\server\weekly"
) ELSE (
    SET "DESTINATION=\\server\daily"
)
0
lit 24 Oktober 2017, 05:31
Saya membuatnya bekerja terima kasih!, Harian dan Mingguan. Hanya masalah berikutnya adalah -include:C: atau -exclude:D: tidak berfungsi. Saya menghapus -include:C:,D: dalam skrip dan ingin menambahkannya di parameter. Adakah yang tahu bagaimana melakukan ini? Ada -backuptarget di dalamnya sehingga harus berfungsi
 – 
WantedBaby
25 Oktober 2017, 10:06
Pertanyaan tidak mengatakan apa-apa tentang "-include:C:" atau "-exclude:D:" Daripada mengedit pertanyaan ini, silakan buat pertanyaan baru.
 – 
lit
25 Oktober 2017, 15:25