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