शॉर्टकट नाम के लिए विंडोज शॉर्टकट विवरण


0

मेरे पास शॉर्टकट्स का एक समूह है और अभी शॉर्टकट्स के बहुत सार्थक नाम नहीं हैं।

मुझे उनका नाम बदलने की आवश्यकता है ताकि शॉर्टकट नाम शॉर्टकट के विवरण के बराबर हो।

enter image description here

यह लगभग 1000+ फाइल है। क्या बैच ऑपरेशन या ऑटोमेशन करने का कोई तरीका है?


यदि आप PowerShell को जानते हैं, तो आप शायद कर सकते हैं इसका समाधान निकालो
Vinayak

जवाबों:


0

मुझे भी लगता है कि आपका दृष्टिकोण संभव नहीं है। निम्नलिखित बैच / vbscript ने मुझे केवल उपयोगी नाम का एक छोटा सा प्रतिशत दिया (@Vinayak मैं apppend करना चाहता हूँ-प्रतिलिपि के लिए टिप्पणी नहीं कर सकता) बैच आउटपुट रीनेम का नाम देता है जिसे आप रिविजन एग्जीक्यूट के बाद oDoRenames.cmd`and जैसी फाइल में रीडायरेक्ट कर सकते हैं।

::ListLnkProps.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off&setlocal enabledelayedexpansion
:: create .\ListLnkProps.vbs
for /f "tokens=1 delims=:" %%A in (
  'findstr /I /N "##ListLnkProps" ^<"%~f0"') do set /A ln#=%%A - 1
more +%ln#% "%~f0" >"%~dpn0.vbs"

:: List.lnk file properties in curent folder and subfolders
for /f "delims=" %%A in (
  'dir /A-D /b /s *.lnk'
) do cscript //nologo "%~dpn0.vbs" "%%A"
goto :eof

' ##ListLnkProps.vbs
set WshShell = WScript.CreateObject("WScript.Shell")
File = WScript.Arguments.Unnamed(0)
set Lnk = WshShell.CreateShortcut(File)
NewName =  Lnk.Description & ".lnk"
If Len(Lnk.Description) > 8 Then
  wscript.Echo "Ren " & chr(34) & File & chr(34) & " " & _
                        chr(34) & NewName & chr(34) 
End If
set Lnk = Nothing

नमूना नमूना आउटपुट संपादित करें

> q:\test\2016-11\05\ListLnkProps.cmd
Ren "C:\Users\UserName\Desktop\Google Chrome.lnk" "Internetzugriff.lnk"
Ren "C:\Users\UserName\Desktop\On-Screen Keyboard.lnk" "Zeigt eine Tastatur an, die von einer Maus oder einem Umschalteingabegerät gesteuert wird..lnk"
Ren "C:\Users\UserName\Desktop\Programm_Links\Alarm.lnk" "Digital Alarm Clock.lnk"
Ren "C:\Users\UserName\Desktop\Programm_Links\Avira.lnk" "Avira starten.lnk"
Ren "C:\Users\UserName\Desktop\Programm_Links\Bitvise SSH Client.lnk" "Bitvise SSH Client L7.15 - a general-purpose SSH client: supports tunneling (manual and via integrated proxy), SFTP file transfer, bridging of FTP clients to SFTP, remote console access and remote administration of Bitvise SSH Server (WinSSHD)..lnk"
Ren "C:\Users\UserName\Desktop\Programm_Links\calibre - E-book management.lnk" "Manage your e-book collection and download news.lnk"
Ren "C:\Users\UserName\Desktop\Programm_Links\calibre 64bit - E-book management.lnk" "Manage your e-book collection and download news.lnk"
Ren "C:\Users\UserName\Desktop\Programm_Links\CDBurnerXP.lnk" "CDBunerXP.lnk"

HTH


पारितोषिक के लिए धन्यवाद! जैसा कि आप बता सकते हैं, मैंने Powershell का ज्यादा इस्तेमाल नहीं किया है।
Vinayak

0

का शुक्र है जेसनम्रेचर का जवाब , आप Powershell का उपयोग करके फ़ोल्डर में प्रत्येक शॉर्टकट के लिए कुछ ऐसा कर सकते हैं:

$lnk = "path\to\shortcut.lnk"
$dest = $Env:Userprofile + "\Desktop\"
$shell = New-Object -COM WScript.Shell
Copy-Item $lnk $($dest + 
(Get-Item $shell.CreateShortcut($lnk).TargetPath).VersionInfo.FileDescription + ".lnk") -WhatIf

हटाए -WhatIf स्क्रिप्ट का उपयोग करते समय अंत में।

P. S. यदि आप Powershell को जानते हैं, तो मेरा उत्तर सुधारने के लिए स्वतंत्र महसूस करें।


यह अजीब है। विवरण को फ़ाइल नाम के रूप में उपयोग करने के बजाय, यह टिप्पणी का उपयोग करता है। निश्चित रूप से क्यों नहीं, लेकिन मुझे फ़ाइल नाम के रूप में विवरण चाहिए, टिप्पणी नहीं।
Arete

@ मुझे विश्वास है कि क्योंकि शॉर्टकट द्वारा इंगित EXE फ़ाइल में विवरण संग्रहीत है। शॉर्टकट में केवल टिप्पणी शामिल है।
Vinayak

@Aret क्या आप चाहते हैं (Get-Item 'path\to\exe').VersionInfo.FileDescription
Vinayak
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.