Powershell在FAT32或NTFS中格式化U盘
我一直在试图找到一个解决USB问题的方法,我想将两个小型PS1脚本合并为一个,以便能够选择单独的USB以FAT32或NTFS格式格式化。还可以设置DiskNumber、DriveLetters和NewFileSystemLabel ****FAT32.PS1中的USB格式****Powershell在FAT32或NTFS中格式化U盘,powershell,formatting,usb,Powershell,Formatting,Usb,我一直在试图找到一个解决USB问题的方法,我想将两个小型PS1脚本合并为一个,以便能够选择单独的USB以FAT32或NTFS格式格式化。还可以设置DiskNumber、DriveLetters和NewFileSystemLabel ****FAT32.PS1中的USB格式**** cls "list disk" | diskpart do { write-host -nonewline "Enter a USB DISK number then press ENTER: " $inputStr
cls
"list disk" | diskpart
do {
write-host -nonewline "Enter a USB DISK number then press ENTER: "
$inputString = read-host
$value = $inputString -as [Double]
$ok = $value -ne $NULL
if ( -not $ok ) { write-host "You must enter a numeric value" }
}
until ( $ok )
write-host "You entered DISK: $value "
Get-Disk $value
PAUSE
Initialize-Disk $value -PartitionStyle MBR
New-Partition –DiskNumber $value -UseMaximumSize –IsActive:$true
Format-Volume –FileSystem FAT32 –DriveLetter I
-NewFileSystemLabel "USB-FAT32"
bootsect.exe /NT60 I:
"YOUR USB IS NOW FORMATTED AND BOOTABLE"
PAUSE
****NTFS.PS1中的USB格式****
cls
"list disk" | diskpart
do {
write-host -nonewline "Enter a USB DISK number then press ENTER: "
$inputString = read-host
$value = $inputString -as [Double]
$ok = $value -ne $NULL
if ( -not $ok ) { write-host "You must enter a numeric value" }
}
until ( $ok )
write-host "You entered DISK: $value "
Get-Disk $value
PAUSE
Initialize-Disk $value -PartitionStyle MBR
New-Partition –DiskNumber $value -UseMaximumSize –IsActive:$true
Format-Volume –FileSystem NTFS –DriveLetter I
-NewFileSystemLabel "USB-NTFS"
bootsect.exe /NT60 I:
"YOUR USB IS NOW FORMATTED AND BOOTABLE"
PAUSE
我以前没有使用过Powershell,只有批处理文件,所以我完全不知道应该使用哪些命令以及如何使用变量。 我设法从互联网上把上面的两个PS1文件放在一起。 它们都可以单独工作,但只需将一个USB插入PC即可。 我使用的是Windows10Pro(v1709,红石3,秋季创作者更新) 对我来说,真正的解决方案是 DiskNumber(最多10个-包括6倍HDD和4倍USB)
文件系统(FAT32或NTFS)驱动器号(C到Z) 新文件系统标签(“USB-FAT32”或“USB-NTFS”) 任何帮助或建议都将不胜感激! 谢谢你的关注!!
您好,迈克您考虑过使用参数吗?尝试在顶部添加此块:
param (
[string]$Format
)
将初始化磁盘
调用中需要指定NTFS
或FAT32
的位置替换为$Format
,然后您可以简单地指定要作为脚本参数的格式,如下所示:
PS C:\Windows\system32> C:\Path\To\Script.ps1 NTFS # or FAT32
您还可以将其扩展到需要输入的更多值;复制中间行,将字符串
替换为int
(如果它是一个数字),并更改参数的名称(它需要保留$
),然后您可以在需要该信息的任何地方使用它
祝你学习PowerShell好运;一旦您了解了它可以做的所有事情,它就非常有用。使用
关于参数的帮助查看参数变量是如何创建和使用的。当您尝试了某个东西但它不起作用时,堆栈溢出是一个提问的好地方。我投票将这个问题作为离题题来结束,因为-请求编程服务。没有努力。没有学习。谢谢你的建议!我相信@Milke-m5也会发现[ValidateSet('FAT32','NTFS')]
很有用。