Batch file 如何获得文件和文件夹列表,而不在括号之间

Batch file 如何获得文件和文件夹列表,而不在括号之间,batch-file,command,line,prompt,Batch File,Command,Line,Prompt,您好,我想知道是否有可能通过使用命令提示符或批处理文件来获取文件和文件夹列表,而不使用parenthensis之间的部分 当我使用dir/b时,我得到: Lenovo 48394 Dual (48437873) Red Lenoxx smoth 3030 (1545308) Logitech razer 220 (04948393) Microsoft V-3000x (4837483449) Black 但我需要的是: Lenovo 48394 Dual Red Lenoxx smoth 3

您好,我想知道是否有可能通过使用命令提示符或批处理文件来获取文件和文件夹列表,而不使用parenthensis之间的部分

当我使用dir/b时,我得到:

Lenovo 48394 Dual (48437873) Red
Lenoxx smoth 3030 (1545308)
Logitech razer 220 (04948393)
Microsoft V-3000x (4837483449) Black
但我需要的是:

Lenovo 48394 Dual Red
Lenoxx smoth 3030
Logitech razer 220
Microsoft V-3000x Black

提前感谢。

这不是真正的Win CMD解决方案,但是如果您可以使用Linux的Windows子系统,则带有正则表达式替换的
sed
实用程序将起作用

sed -e 's/(.*)//g' input_file
此命令从输入文件读取输入数据,并将结果打印到标准输出。
(.*)
正则表达式匹配括号和括号之间的任何文本

UPD:看起来你可以使用Windows Powershell


  • 当需要通过仅删除括号来获取附加内容(??)时:
@echo off&setlocal enabledelayedexpansion&title%~n0
对于('dir/b“*.*”^ | find/v.cmd“')中的/f^tokens^=*%%i,请调用:^[“%%~i”&&echo=!\u str!
退出/b
:^[
集合_str=%~1

对于('cmd/c set/p“=%\u str:)=%”^中的/f^tokens^=*%%S,只需删除
(…)
部分:

@echo off
for /f "tokens=1,3 delims=()" %%a in ('dir /b') do echo %%a%%b
如果这两个空间打扰了您:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,3 delims=()" %%a in ('dir /b') do (
  set "line=%%a%%b"
  echo !line:  = !
)

谢谢,但我需要一个Windows解决方案。关于powershell部分,我不确定如何使用它满足我的需要,我尝试过:获取内容somefile.txt |%{$\替换“(*)”,“}但没有成功。谢谢,也许有一天我需要它。