Tôi đang cố gắng viết một kịch bản sử dụng robocopy.Nếu tôi chỉ làm điều này bằng tay, lệnh của tôi sẽ là:
robocopy c: \ giữ \ test1 c: \ giữ \ test.txt test2/NJH/NJS
NHƯNG, khi tôi làm điều này từ PowerShell, như:
$source = "C:\hold\first test"
$destination = "C:\hold\second test"
$robocopyOptions = " /NJH /NJS "
$fileList = "test.txt"
robocopy $source $destination $fileLIst $robocopyOptions
tôi nhận được:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Fri Apr 10 09:20:03 2015
Source - C:\hold\first test\
Dest - C:\hold\second test\
Files : test.txt
Options : /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #4 : " /NJH /NJS "
Tuy nhiên, nếu tôi thay đổi lệnh robocopy thành
robocopy $source $destination $fileLIst /NJH /NJS
mọi thứ đều chạy thành công.
Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể vượt qua một chuỗi như các tùy chọn lệnh robocopy của tôi (và, trong một ý nghĩa lớn hơn, làm tương tự cho bất kỳ lệnh bên ngoài cho)
cảm ơn bạn, Anton. – weloytty
'Bắt đầu-Process' là OK nếu bạn không nhớ cửa sổ giao diện điều khiển riêng biệt. –
sử dụng các đối số '-NoNewWindow -PassThru -Wait' để tránh cửa sổ bảng điều khiển riêng biệt –