Как заставить приложение использовать .NET 3.5 или выше?

Как упоминалось в , этот отвечает на вышеупомянутый вопрос, кажется, что строки не пропускаются по умолчанию, используя for /f в (по крайней мере) Windows XP (Сообщество - обновите этот ответ путем тестирования приведенных ниже командных команд в вашем пакете обновления и пакета обновления Windows). & nbsp; & nbsp; & nbsp; & nbsp; EDIT: комментарий Jeb ниже , кажется, что команда ping, по меньшей мере, Windows XP, является & nbsp; & nbsp; & nbsp; заставляя for /f создавать 'вместо пустых строк (если кто-то знает, почему именно, would & nbsp; & nbsp; & nbsp; оцените это, если они могут обновить этот ответ или комментарий).

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; В качестве обходного пути кажется, что второй маркер с разделителем по умолчанию ( / %%b в этом примере) & nbsp; & nbsp; & nbsp; возвращает в качестве blank, который работал для моей ситуации устранения пустые строки посредством «родительского» & nbsp; & nbsp; if обусловлены вторым токеном в начале for /f, например:

   for /f "tokens=1,2*" %%a in ('ping -n 1 google.com') do (
      if not "x%%b"=="x" (
         {do things with non-blank lines}
      )
   )

Используя следующий код:

@echo off
systeminfo | findstr /b /c:"OS Name" /c:"OS Version" 
echo.&echo.
ping -n 1 google.com
echo.&echo.
for /f %%a in ('ping -n 1 google.com') do ( echo "%%a" )
echo.&echo.&echo --------------&echo.&echo.
find /?
echo.&echo.
for /f %%a in ('find /?') do ( echo "%%a" )
echo.&echo.
pause

.... следующее, что я вижу в Windows XP, Windows 7 и Windows 2008, будучи единственными тремя версиями и amp; сервисные пакеты Windows У меня есть готовый доступ к:

Windows XP Pro SP3 [/g3]

Windows 7 Enterprise SP1 [/g4]

Windows Server 2008 R2 Enterprise SP1 [/g5]

14
задан splintor 4 September 2011 в 07:20
поделиться