rus*_*009 4 powershell windows-7
我试图在powershell中编写一个脚本来删除文件夹中每个MP3文件名的前20个字符,我创建了一个文件'test.ps'并将下面的powershell代码插入其中,
gci *.mp3 | rename-item -newname { [string]($_.name).substring(20) }
Run Code Online (Sandbox Code Playgroud)
当我在powershell.exe中运行此文件时,没有任何反应,
有人可以帮忙吗?谢谢.
这可能会让你开始.(可能有更简洁的方法,但是当你需要在以后维护它时,它可以工作并且是可读的.:-))
我创建了一个文件夹C:\TempFiles
,并在该文件夹中创建了以下文件:
TestFile1.txt
TestFile2.txt
TestFile3.txt
TestFile4.txt
Run Code Online (Sandbox Code Playgroud)
(我害怕,我用老式的方式创造了它们.<g>.我用过
for /l %i in (1,1,4) do echo "Testing" > TestFile%i.txt
Run Code Online (Sandbox Code Playgroud)
从实际的命令提示符.)
然后我PowerShell ISE
从开始菜单打开,并运行此脚本.它创建一个array($files
),只包含文件的名称,并处理每个文件的名称:
cd \TempFiles
$files = gci -name *.txt
foreach ($file in $files) {
$thename = $file.substring(4);
rename-item -path c:\TempFiles\$file -newname $thename
}
Run Code Online (Sandbox Code Playgroud)
这使文件夹包含:
File1.Txt
File2.Txt
File3.Txt
File4.Txt
File5.Txt
Run Code Online (Sandbox Code Playgroud)
要从命令行运行脚本,您需要更改一些默认的Windows安全设置.您可以通过了解他们PowerShell ISE
的帮助文件(从菜单)和搜索about_scripts
或执行help about_scripts
从ISE
提示.请参阅How To Run A Script
帮助文件中的子部分(它更容易阅读).
归档时间: |
|
查看次数: |
10993 次 |
最近记录: |