shell在指定目录下创建文件(如何使用PowerShell创建一个目录并进入目录读取文件)

本文目录
- 如何使用PowerShell创建一个目录并进入目录读取文件
- 批处理在当前目录的所有子目录中创建文件夹
- shell自动创建一个目录abc,且目录下有bin、backup、conf、etc、lib、logs、temp、webapps
- 怎么用批处理以剪贴板内容为名字在指定目录新建一个文件夹并且打开
- 用批处理bat.如何在指定目录当前日期的文件夹中新建一个文件夹,文件夹的名字为粘贴板内容,并且打开
- UNIX shell 如何根据多个文件的文件名批量创建文件夹 并将文件复制到相应的文件夹下
如何使用PowerShell创建一个目录并进入目录读取文件
今天是我学习的第一天哈哈
1,指定地址新建目录:
如上,一步到位。
-path指定地址,-name指定文件名,-type指定directory
2,当前地址新建目录:
这我发现几个细节:
① new-item=New-Item,不知道为啥一定要区分大小写。可能是养成习惯,将来写复杂代码方便查看吧。
② 只输入 -name,它自动会问你 Type。这样比较简便,少打字。
批处理在当前目录的所有子目录中创建文件夹
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
《# :
cls
@echo off
rem 将当前目录里的多个子文件夹下的最后一级文件夹的文件剪切/移动到以上几级文件夹名称连接组合成的字符串命名的新文件夹里
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock (::Default))) -Args ’%~f0’"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#》
$self=get-item -liter $args;
$path=$self.Directory.FullName;
$folders1=@(dir -liter $path|?{$_ -is });
for($i=0;$i -lt $folders1.length;$i++){
$folders2=@(dir -liter $folders1});
if($folders2.length -ge 1){
for($j=0;$j -lt $folders2.length;$j++){
$folders3=@(dir -liter $folders2});
if($folders3.length -eq 0){
$newname=$folders2.FullName.substring($path.length+1).replace(’\’,’-’);
$newfolder=$path+’\’+$newname;
if(-not (test-path -liter $newfolder)){(md $newfolder -force)};
$files=@(dir -liter $folders2});
for($k=0;$k -lt $files.length;$k++){
write-host ($files.FullName.substring($path.length+1)+’ --》 ’+$newname);
};
};
};
};
};
shell自动创建一个目录abc,且目录下有bin、backup、conf、etc、lib、logs、temp、webapps
可以用vi/etc/rc.conf模式按"a"或"i"命令模式按一下Esc键,然后按Shift+:然后就可以输入wq(保存退出了)
怎么用批处理以剪贴板内容为名字在指定目录新建一个文件夹并且打开
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312
《# :
cls&echo off&cd /d "%~dp0"&set "current=%cd%"
rem 读取剪贴板内容作为名字,在指定目录里新建一个文件夹并且打开该文件夹
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "specifiedpath=C:\xxx\指定目录"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal ’%~f0’|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#》
$specifiedpath=($env:specifiedpath).trimend(’\’)
Add-Type -AssemblyName System.Windows.Forms;$name=’’;
if(::ContainsText()){
$name=’;
$newfolder=$specifiedpath+’\’+$name.trim();
if(-not (test-path -literal $newfolder)){
try{
::CreateDirectory($newfolder);
}catch{write-host ’Illegal characters’;}
}
Start-Process explorer.exe $newfolder;
}else{wrrite-host ’No text’;}
用批处理bat.如何在指定目录当前日期的文件夹中新建一个文件夹,文件夹的名字为粘贴板内容,并且打开
您可以使用以下批处理脚本实现这个功能:
@echo off
setlocal
REM 设置要创建文件夹的目录路径
set "folder_path=C:\example\%date:~0,4%-%date:~5,2%-%date:~8,2%"
REM 检查文件夹是否存在,如果不存在则创建它
if not exist "%folder_path%" ( mkdir "%folder_path%"
)
REM 获取剪贴板的内容并将其作为文件夹名称
set /p "folder_name=" 《 "con"
md "%folder_path%\%folder_name%"
REM 打开新创建的文件夹
start "" "%folder_path%\%folder_name%"
UNIX shell 如何根据多个文件的文件名批量创建文件夹 并将文件复制到相应的文件夹下
你的子目录没有描述清楚,我不确定【开头的“20140121”只是编号,20140121是那个字段?】,这里我把子目录当作是文件名的开始8位处理,如果不对,你自己稍微改下CreateSubDir函数就可以了!
#!/bin/sh
#创建上级目录
function CreateDir
{
_g_dir=`echo $1|awk -F’-’ ’{print $3}’`
if
then
mkdir $_g_dir
fi
}
#创建子目录
function CreateSubDir
{
_l_row=$1
_g_subdir=${_l_row:0:8}
if
then
mkdir $_g_subdir
fi
}
#文件拷贝
function CopyFile
{
_l_dir="$_g_dir/$_g_subdir"
cp $1 $_l_dir
}
#主函数
function main
{
cat filename(待读取的文件) | while read line
do
#创建上级目录
CreateDir $line
#创建子目录
CreateSubDir $line
#文件拷贝
CopyFile $line
done
}
#调用入口
main $*

更多文章:
tcpip协议内核(tcpip协议详解 tcpip协议具体包括哪些内容)
2025年10月17日 21:00
python切片举例(如何使用Python中的变量对列表进行切片)
2026年9月9日 06:00
structured reviewing翻译(紧急求助,英语高手帮忙翻译一下这篇英文,急用谢谢不要翻译软件的)
2025年5月25日 07:45
vlookup函数怎么用来查找(excel中vlookup怎么查找)
2025年7月10日 11:15
如何使用通配符(在word中查找、定位和替换,怎样使用通配符)
2025年8月5日 04:00
职业生涯规划书ppt模板免费下载(大学生职业生涯规划ppt模板)
2025年11月25日 13:30
手机context修复是啥(修复selinux contexts什么意思)
2025年7月24日 18:00
移动智能电子学生证怎么添加号码(智慧校园电子学生证如何添加号码)
2026年7月1日 10:45












