输出:“这时是意外的”,此代码有什么问题?

时间:2019-09-20 13:46:00

标签: batch-file

我在某本书中看到了一个简单的代码,该代码假定在c:\的根目录返回前缀为'n-(file / folder name)'的文件和文件夹名称的列表。 (“ n”为列表的文件\文件夹号)。

我试图在cmd和powershell 5上运行它 两者的输出均为:“我的旧Windows Shell脚本” “这一次出乎意料”

编辑****************************** 目的是在cmd和PS中将其作为.cmd文件运行 编辑********************************

@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 个答案:

答案 0 :(得分:1)

要在Powershell中运行,此代码应另存为批处理文件(.bat),并使用命令invoke-expression运行:

$command = @'
cmd.exe /C C:\work\myfile.bat
'@
Invoke-Expression $command

答案 1 :(得分:-1)

您上面的批处理命令保存在批处理文件中,例如Fri Sep 20 16:13:17 CEST 2019: INFO: TJA470 Fri Sep 20 16:13:17 CEST 2019: INFO: "TJA470 " Fri Sep 20 16:13:17 CEST 2019: INFO: class java.lang.String Fri Sep 20 16:13:17 CEST 2019: INFO: false Fri Sep 20 16:13:17 CEST 2019: INFO: false Fri Sep 20 16:13:17 CEST 2019: INFO: true 通过在Windows10 Pro 1903版上使用test.bat运行。

输出:

CMD