Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 输出:“;“在这个时候是出乎意料的”,什么';这个密码怎么了?_Batch File - Fatal编程技术网

Batch file 输出:“;“在这个时候是出乎意料的”,什么';这个密码怎么了?

Batch file 输出:“;“在这个时候是出乎意料的”,什么';这个密码怎么了?,batch-file,Batch File,我在一些书中看到了一个简单的代码,它假设在c:\的根返回一个文件和文件夹名列表,前缀为“n-(文件/文件夹名)”。('n'作为列表的文件\文件夹编号) 我试着在cmd和powershell 5上运行这个 两个输出都是:“我的旧windows shell脚本” “此时发生意外” 编辑************************** 目的是在cmd和PS中以.cmd文件的形式运行此文件 编辑************************** @echo off echo my old wind

我在一些书中看到了一个简单的代码,它假设在c:\的根返回一个文件和文件夹名列表,前缀为“n-(文件/文件夹名)”。('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

要在powershell中运行,此代码应另存为批处理文件(.bat),并使用命令调用表达式运行:

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

上面的批处理命令保存在批处理文件中,例如
test.bat
正在Windows10 Pro版本1903上使用
CMD
运行

输出:

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:\>

这是批处理,实际上不是powershell代码。我认为“批处理文件”是正确的标记,不能复制。在
cmd
窗口和
powershell
窗口中运行良好。谢谢,但其目的是将其作为.cmd文件执行。它来自PS手册我正在阅读如何运行多行命令?当我点击输入“>>”符号继续弹出时…在PS和cmd上都尝试了此操作,但都给出了相同的输出:“我的旧windows shell脚本”此时出乎意料