Re: [问题] WIN bat 的问题

楼主: loser1 (拍嘎爪得白酱)   2022-06-23 11:51:19
你是要 BAT 中将程式执行结果放到变量,还是
在 Powershell script 中将程式执行结果放到变量?
在 BAT 中,这操作有点复杂。
首先,
powershell “ls | Select-string -Pattern ‘MUSIC’” >%TEMP%\TXT
将输出转向到一个档案
然后,利用 for 命令
set A=
记得上面有个空格作为 A 的内容
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
for /F %%i in (%TEMP%\TXT) do set A=!A! %%~i
这样就能够将档案中的内容第一个非空白值全部串到变量A 当中
更进一步的操作用 for/? 来看 for 的用法
※ 引述《chiaohuang (宅男一枚)》之铭言:
: 因为某种需求需要写 windows 的批次档来帮我做繁琐的事
: 我查了 google 我需要的指令可以透过 powershell 达成
: 类似
: powershell “ls | Select-string -Pattern ‘MUSIC’”
: 输出是我要的没错
: 但我要怎么把输出的结果存在变量呢?
: 效果要类似linux 的
: # ret=$(ls | grep ‘MUSIC’)
: # echo $ret
: 谢谢
因为太麻烦了之前我都用 active perl 来处理
作者: tomsawyer (安安)   2022-06-23 16:32:00
用powershell了就不要再bat了 刚好学点新的lol

Links booklink

Contact Us: admin [ a t ] ucptt.com