![Board logo](images/default/logo.gif)
标题: [问题求助] powershell如何读取带有空格的文本并创建文件夹? [打印本页]
作者: zhanglei1371 时间: 2018-3-24 22:38 标题: powershell如何读取带有空格的文本并创建文件夹?
我有文本,位于D:\新 123\zj.txt
内容为:
第一节 概述
第二节 文件读取
第三节 文本建立
.....
有很多行,想要用ps来批量读取,并创建文件夹于C:\2018 备份\目录下,不知该怎么做?
另外,我电脑安装了vs2013,不知如何配置能够配置为ps的编辑器+调试器?
谢谢各位的帮助!
作者: yhcfsr 时间: 2018-3-25 08:18
本帖最后由 yhcfsr 于 2018-3-25 08:20 编辑
扫描文件- get-childitem -path "目录名"
复制代码
读取文件复制代码
创建目录- New-Item -ItemType Directory -Path "目录路径"
复制代码
说明一点:Powershell和VS完全没关系,WIN10自带最新PS,WIN10以下系统去微软官网下载升级补丁升级PS
作者: zhanglei1371 时间: 2018-3-25 12:41
回复 2# yhcfsr
能否指点下,下面的代码为何不行?- $aa = Get-Content D:\新 123\zj.txt
- $len = $aa.length
- for ($i = 0; $i -lt $len; $i++)
- {
- New-Item -Path "C:\2018 备份\$aa[$i]" -ItemType directory
- }
- Pause
复制代码
作者: zaqmlp 时间: 2018-3-25 13:08
回复 3# zhanglei1371
路径带空格
字符串与变量的拼接
作者: zaqmlp 时间: 2018-3-25 13:09
- gc 'D:\新 123\zj.txt'|?{$_.trim() -ne ''}|%{md ('C:\2018 备份\'+($_.trim() -replace '[\t\?\*\\:\/\|<>"]','_')) -f}
复制代码
作者: zhanglei1371 时间: 2018-3-25 14:38
回复 5# zaqmlp
谢谢。已解决。我还有个疑问,就是将代码加个括号就行了。
最后想请教下,我在调试时,若是写成这样:
Write-Host 'c:\C\'+$aa[$i]
则得到的是所有行内容后面接中括号;
若写成这样:
Write-Host ('c:\C\'+$aa[$i])
则得到的就是正常的每行的内容。
故改成这样可以:New-Item -Path ('C:\2018 备份\'+$aa[$i]) -ItemType directory
写成这样不行: New-Item -Path 'C:\2018 备份\'+$aa[$i] -ItemType directory
那么为何没有括号时显示的有问题呢?
作者: yhcfsr 时间: 2018-3-25 15:55
本帖最后由 yhcfsr 于 2018-3-25 22:37 编辑
- New-Item -Path "C:\2018 备份\$aa([$i])" -ItemType directory
复制代码
作者: zaqmlp 时间: 2018-3-25 22:08
回复 7# yhcfsr
不应该是"C:\2018 备份\$($aa[$i])"吗
作者: yhcfsr 时间: 2018-3-25 22:38
本帖最后由 yhcfsr 于 2018-3-25 22:40 编辑
回复 8# zaqmlp
没错,看了下题主的代码,的确应该加上括号。所以我代码稍微修改了下。感谢指正
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |