Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [for] что не так?копирование всех файлов кроме одного. (http://forum.oszone.net/showthread.php?t=264472)

nfs911 17-07-2013 13:20 2186005

[for] что не так?копирование всех файлов кроме одного.
 
Нужно скопировать всё кроме %win86%\Sources\install.wim
Код:

@echo off
set win7aio=%CD%\ru_win_7_AIO
set win86=%CD%\ru_win_7_ultimate_sp1_x86

for /f "tokens=*" %%i in ('dir /b /s /a-d "%win86%\*"') do if not "%%i"=="%win86%\Sources\install.wim" xcopy /s /h "%%i" "%win7aio%"

pause

Вроде всё правильно,а не работает...

Sphinx114 17-07-2013 17:23 2186119

Может так?
Код:

@echo off
set win7aio=%CD%\ru_win_7_AIO
set win86=%CD%\ru_win_7_ultimate_sp1_x86
(
\Sources\install.wim
) 2>nul
xcopy /s /h /exclude:%~nx0 "%win86%" "%win7aio%"


sov44 17-07-2013 19:08 2186171

или так (не проверял)
Код:

@echo off
::если папки рядом с батником
set win7aio=ru_win_7_AIO
set win86=ru_win_7_ultimate_sp1_x86

for /f "delims=" %%i in ('dir /b /s /a-d "%win86%\*"') do if not "%%~nxi"=="install.wim" xcopy /s /h "%%i" "%win7aio%"
pause


nfs911 17-07-2013 19:45 2186197

А можно ссылку на подробную справку по %~nx0 и ему подобные,а то гугл нормально не гуглит
Sphinx114, если вас не затруднит
объясните как это заключив в скобки перенаправляется на %~nx0 и откуда взялся параметр /exclude в справке его нет

Sphinx114 17-07-2013 22:23 2186260

Цитата:

Цитата nfs911
откуда взялся параметр /exclude в справке его нет »

У меня на виндоус XP он есть, см. xcopy /?
Цитата:

Цитата nfs911
%~nx0 »

Можно глянуть в конце for /?
%0 это полное имя батника (диск+путь+имя+расширение) с кавычками
Цитата:

Цитата Sphinx114
(
\Sources\install.wim
) 2>nul »

В данном примере, xcopy с параметром ecxclude ищет название файлов для исключения из копирования в самом батнике. Командный интерпретатор воспримет строку \Sources\install.wim как ошибочную команду, поэтому поток ошибок (2) перенаправлен (>) в никуда (nul).

Название батника не должно содержать пробелов.


Время: 10:05.

Время: 10:05.
© OSzone.net 2001-