
У меня есть этот скрипт
for /f "skip=1 delims=" %%x in ('wmic logicaldisk get caption') do (
copy "%%x\*.spt" "%drive%\mydiagtools"
)
pause
и мне нужно скопировать файлы с расширением SPT (файлы нашей компании) на мой USB-накопитель со всех доступных дисков на определенном компьютере.
Есть у кого-нибудь идеи, почему это не работает? Вот что я получаю:
F:\>for /F "skip=1 delims=" %x in
*.spt" "\mydiagtools" )
\*.spt" "\mydiagtools" )
The device is not ready.
\*.spt" "\mydiagtools" )
\*.spt
The filename, directory name, or v
0 file(s) copied.
\*.spt" "\mydiagtools" )
The device is not ready.
\*.spt" "\mydiagtools" )
The device is not ready.
\*.spt" "\mydiagtools" )
\*.spt
The filename, directory name, or v
0 file(s) copied.
\*.spt" "\mydiagtools" )
\*.spt
The system cannot find the path sp
0 file(s) copied.
\*.spt" "\mydiagtools" )
\*.spt
The filename, directory name, or v
0 file(s) copied.
F:\>pause
Press any key to continue . . .
Большое спасибо
правка: исправлен вывод
решение1
Хотите использовать powershell? Попробуйте следующий скрипт.
$copy=Get-PSDrive -PSProvider FileSystem | %{ Get-ChildItem $_.Root -Recurse -force -ErrorAction SilentlyContinue| Where-Object {$_.Extension -eq '.spt'}} Copy-Item -Path $copy.Fullname -Destination C:\xxxx\
В конце скрипта укажите свой USB-накопитель, а затем запустите его как PowerShell.
решение2
Следующий код должен работать:
for /f "skip=1" %%x in ('wmic logicaldisk get caption') do (
copy "%%x\*.spt" "%drive%\mydiagtools"
)
pause
Несмотря на то %drive%
, что для меня это не представляло никакой ценности, проблема, по-видимому, была связана с delims=
. Без него я мог успешно просматривать и копировать содержимое диска, тогда как delims=
вызывал нежелательный побочный эффект, не отображая и не копируя никаких файлов.
(протестировано на Windows 10 Enterprise x64 версии 1803 сборки 10.0.17134.376)