вывод: "было неожиданно в это время", что не так с этим кодом? - PullRequest
0 голосов
/ 20 сентября 2019

В одной книге я видел простой код, который предполагает возвращение списка имен файлов и папок в корне c: \ с префиксом 'n - (имя файла / папки)'.('n' в качестве номера файла \ папки в списке).

Я попытался запустить это на cmd и на powershell 5, оба результата выглядят так: "мой старый скрипт оболочки Windows" "в это время был неожиданным"

РЕДАКТИРОВАТЬ ************************** Цель состоит в том, чтобы запустить его как файл .cmd как в cmd, так и в PS EDIT **************************

@echo off
echo my old windows shell script
set x=0
for /f "tokens=*" %%i in ('DIR /b C:\') do call :output "%%i"
echo script complete!
goto :EOF

:output
set name=%1
set /A X=X+1
echo %X% = %name%
goto :EOF

Ответы [ 2 ]

1 голос
/ 20 сентября 2019

для запуска в powershell этот код следует сохранить как пакетный файл (.bat) и запустить с помощью команды invoke-expression:

$command = @'
cmd.exe /C C:\work\myfile.bat
'@
Invoke-Expression $command
0 голосов
/ 20 сентября 2019

Команды выше, сохраненные в пакетном файле, например, test.bat выполняются с использованием CMD в Windows10 Pro версии 1903.

Вывод:

D:\>test
my old windows shell script
1 = "CacheMenu"
2 = "Intel"
3 = "PerfLogs"
4 = "Program Files"
5 = "Program Files (x86)"
6 = "Python27"
7 = "Users"
8 = "Windows"
script complete!

D:\>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...